Skip to content

Fix CLI archive README generation - #36

Merged
VladimirBrejcha merged 1 commit into
mainfrom
codex/rr20-cli-package-readme
Aug 31, 2026
Merged

Fix CLI archive README generation#36
VladimirBrejcha merged 1 commit into
mainfrom
codex/rr20-cli-package-readme

Conversation

@VladimirBrejcha

Copy link
Copy Markdown
Contributor

What changed

CLI packaging now writes static README Markdown from quoted literal blocks and interpolates only the validated versioned archive values. This prevents backticked documentation commands from running during packaging or copying their stdout into the released tarball.

The existing final-archive test now installs a deterministic fake npm sentinel, extracts the completed tarball, preserves the literal backticked command, and rejects command output or the exact checkout root. The build-and-test contract binds both requirements to that verifier.

The failure required several conditions together: an unquoted heredoc, Markdown backticks, a runnable package command, path-bearing stdout, and defenses that inspected source rather than generated bytes. The correction removes that interpretation coupling and checks the durable payload boundary.

How you verified

  • Focused regression failed against the original generator and passed after the fix
  • npm run test:docs — 42 passed
  • npm test — public surface 258 files; broker-core 294; client 256; harness adoption 24; app 171
  • Routed spec-only verification profile passed
  • Repository and independent staged current-source audits passed
  • I did not commit private paths, credentials, generated Xcode projects, local broker state, or task-session artifacts

Notes

The guard is intentionally scoped to the generated CLI README and exact checkout root rather than introducing a broad temporary-path rule. Other release payload transformations still require terminal artifact audit. No release, tag, retained artifact, npm payload, app, or workflow behavior is changed.

This project is Alpha, macOS-only, and needs Xcode to talk to iOS Simulators. See CONTRIBUTING.md.

Why:
- An unquoted packaging heredoc treated Markdown backticks as shell syntax, executed the npm package command, and copied its output into the released CLI README.
- Source-only public checks could not observe this payload-time transformation.

Changed:
- Generate static README Markdown from quoted literal blocks and interpolate only the validated versioned archive values.
- Inspect the extracted final tarball with a fake-command sentinel, literal-command assertion, and exact-checkout-root rejection.
- Bind the generated README behavior to explicit build-and-test requirements.

Verification:
- Focused regression failed on the original behavior and passed after the fix.
- npm run test:docs (42 passed).
- npm test (258 public files; 294 broker-core; 256 client; 24 harness-adoption; 171 app).
- Routed spec-only profile and staged current-source audits passed.

Affected:
- CLI tarball README generation and its public verification contract.
- No broker runtime, npm payload, macOS app, release workflow, tag, or retained artifact changes.

Refs:
- https://how.complexsystems.fail

Session:
- task-sessions/rr20-cli-package-readme-20260831
@VladimirBrejcha VladimirBrejcha added the autopilot:on Enable Autopilot processing for this PR label Aug 31, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-31T09:54:19.523004Z 8893c4e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8893c4e8f9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread spec/build-and-test.md
@fiveonecode-autopilot

Copy link
Copy Markdown

Reviewed top-level PR feedback and left the current code unchanged.

These items were posted as PR review bodies or conversation comments rather than unresolved review threads, so this acknowledgement is recorded on the PR timeline.

  • Source: Fix CLI archive README generation #36 (comment)
    This comment is Codex's review-status dashboard for HEAD 8893c4e. It reports that Code Review completed when the PR opened and lists no independent findings, defects, or requested changes beyond the inline thread already classified separately. A completed Codex review-status table does not require a repository change.
  • Source: Fix CLI archive README generation #36 (review)
    This review body is Codex boilerplate for commit 8893c4e8f9. It adds no findings of its own; the only suggestion from that review is the inline structured-commit comment, and HEAD 8893c4e already contains the required Why:, Changed:, Verification:, Affected:, Refs:, and Session: sections. The parent review body does not request a further code change.

@VladimirBrejcha
VladimirBrejcha merged commit d0d892a into main Aug 31, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autopilot:on Enable Autopilot processing for this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant