Publish the stdin envelope and name the refusal #72

Merged
PerishFire merged 1 commit from land/concord-envelope-shape into main 2026-08-14 14:25:48 +00:00
Owner

Publish the stdin envelope and name the refusal

Two stdin commands carried no shape. task change --help and phase settle --help listed only their flags, and a decode refusal named one missing field
per call, so the only way to learn an envelope was to send it repeatedly and
read the refusals. Observed sessions did exactly that: one read the help, got
nothing, and spent five calls collecting field names one at a time.

Each envelope now owns one canonical shape beside its type. The help prints it
and a decode refusal carries it as explicit details, so one call answers what
five answered before. A test decodes both shapes into their own types, so a
documented envelope that stops being valid input fails the guard.

The finish fact also names its refusal code. Exit status alone could not
separate a rejected envelope from a stale revision, which left the audit record
unable to explain its own failures without reading agent transcripts.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

Publish the stdin envelope and name the refusal Two stdin commands carried no shape. `task change --help` and `phase settle --help` listed only their flags, and a decode refusal named one missing field per call, so the only way to learn an envelope was to send it repeatedly and read the refusals. Observed sessions did exactly that: one read the help, got nothing, and spent five calls collecting field names one at a time. Each envelope now owns one canonical shape beside its type. The help prints it and a decode refusal carries it as explicit details, so one call answers what five answered before. A test decodes both shapes into their own types, so a documented envelope that stops being valid input fails the guard. The finish fact also names its refusal code. Exit status alone could not separate a rejected envelope from a stale revision, which left the audit record unable to explain its own failures without reading agent transcripts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Publish the stdin envelope and name the refusal
Some checks failed
guard / windows (pull_request) Successful in 3m24s
guard / guard (pull_request) Failing after 28m36s
78b2f7f83a
Publish the stdin envelope and name the refusal

Two stdin commands carried no shape. `task change --help` and `phase settle
--help` listed only their flags, and a decode refusal named one missing field
per call, so the only way to learn an envelope was to send it repeatedly and
read the refusals. Observed sessions did exactly that: one read the help, got
nothing, and spent five calls collecting field names one at a time.

Each envelope now owns one canonical shape beside its type. The help prints it
and a decode refusal carries it as explicit details, so one call answers what
five answered before. A test decodes both shapes into their own types, so a
documented envelope that stops being valid input fails the guard.

The finish fact also names its refusal code. Exit status alone could not
separate a rejected envelope from a stale revision, which left the audit record
unable to explain its own failures without reading agent transcripts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Land-Source: concord-envelope-shape@86fb6f016b928c8b852ae32fc29572632d5f4b51
PerishFire force-pushed land/concord-envelope-shape from 78b2f7f83a
Some checks failed
guard / windows (pull_request) Successful in 3m24s
guard / guard (pull_request) Failing after 28m36s
to 27ab16ba7f
Some checks failed
guard / guard (pull_request) Successful in 2m2s
guard / windows (pull_request) Successful in 3m18s
guard / guard (push) Failing after 17s
guard / windows (push) Successful in 3m19s
2026-08-14 14:21:46 +00:00
Compare
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishFire/concord!72
No description provided.