Report compile and publication progress - #21
Conversation
Expose the retained lifecycle without leaking private projection data, and keep stdout stable for repository URL consumers. Coordinate the strict progress response with API contract 0.2.0.
Publication failure can mirror an unsuccessful Compilation before any GitHub work. Select terminal progress from the validated Compilation state so the CLI never attributes that outcome to GitHub.
Preserve the closed safe-output boundary while accepting legacy preflight evidence and stage-specific fallback classifications from the coordinated API 0.2 contract.
Separate compatibility-line semantics from the approval-gated npm channel. Release the coordinated API 0.2 candidate as ordinary 0.1.0 while keeping next as the initial distribution path and latest promotion separate.
|
Post-merge retrospective. The service-side half of this contract was reviewed with skills#24; this is the |
|
A command-line tool has two output streams, and this PR treats the difference as an API contract, which is stdout is for the answer. When Second contract: name the phase in every failure. "Compilation failed" tells the user to fix their Plan. Third, subtlest: the CLI validates the progress the service sends against a closed projection (allowed |
Summary
First Draft:progress on stderr for analysis, Compilation, and GitHub Publication@firstdraft.com/cli@0.1.0for service API contract 0.2nextas the approval-gated initial channel independently of version syntax, without movinglatestVerification
npm ci --ignore-scriptsnpm audit(0 vulnerabilities)npm run check(typecheck, lint, format, 150 tests, pack check, packed executable smoke)Coordination boundary
This is an unreleased ordinary
0.1.0candidate requiring the First Draft API 0.2 service contract and the coordinated plugin0.1.0candidate. Exact candidate identities must pass the cross-repository compatibility gate before release. Merge, npm publication undernext, any laterlatestpromotion, plugin promotion, and service deployment remain separately serialized operations; this pull request performs none of them.