compiler-parity: STEP 17-18 gist publication is best-effort, not gh-only - #55
Draft
ruvnet wants to merge 2 commits into
Draft
compiler-parity: STEP 17-18 gist publication is best-effort, not gh-only#55ruvnet wants to merge 2 commits into
ruvnet wants to merge 2 commits into
Conversation
step17to18Publish() unconditionally instructed `gh gist create --public` with no fallback. This repo's own nightly-runner environment has no `gh` CLI and no MCP gist-creation tool, so the instruction was dead on arrival here twice: once on 2026-08-13 (see docs/dream-cycle/2026-08-13-security- adversarial-report.md, improvised GIST=LOCAL) and again tonight. Encode the fallback in the compiler itself instead of re-improvising it each night: gist publication now degrades to GIST=LOCAL (report committed into the PR) when neither tool exists, and that degradation is explicitly not a FALLBACK/stop condition. npm test: 98 -> 99 (new pinning test), 0 regressions. Golden snapshot regenerated to match the new STEP 17-18 wording; the diff is exactly that paragraph. Ledger row + evidence report for 2026-08-30 (compiler-parity, slot 0). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CEWtSntmrgGC4XqmQUr3N3
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CEWtSntmrgGC4XqmQUr3N3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hypothesis
Given the Dream Machine's self-hosted compiler, when STEP 17-18 is changed from unconditionally requiring
gh gist create --publicto describing gist publication as best-effort across whatever tool the environment actually provides (explicitGIST=LOCALfallback), then futuregh-less nights should no longer need to reinvent the fallback — subject to: no other step's semantics change, tests stay green, and the ACCEPT/REJECT/INCONCLUSIVE / no-self-merge / no-fabricated-GIST_URL invariants are untouched.Candidate
packages/compile/src/index.ts→step17to18Publish(): replaced the unconditional`gh gist create --public`instruction with best-effort wording (gh, an MCP gist tool, or — if neither exists —GIST=LOCAL+ commit the report into the PR), and made explicit that missing gist tooling is not a FALLBACK/stop condition. ~10 line diff, one conceptual change.Evaluation Receipt
Real evaluator:
npx vitest run.7933c359):Test Files 7 passed (7),Tests 98 passed (98).Test Files 7 passed (7),Tests 99 passed (99)— 98 baseline + 1 new pinning test, 0 regressions.node packages/cli/dist/bin.js compile dream.config.jsonafter the fix against this repo's own realdream.config.jsonand confirmed the corrected wording is what tonight's routine prompt actually contains.Baseline
Parent commit
7933c3599abe22df5290f4609d1f93f598feb3de(main, pre-cycle). 98/98 tests green.Darwin Lineage
Not run — no numeric fitness landscape for a documentation/prompt-text fix. Skip recorded explicitly rather than fabricated.
Evidence
which gh→ absent this session; live MCP tool search for a gist-creation tool → none found.docs/dream-cycle/2026-08-13-security-adversarial-report.md(lines 229-234) independently hit the identical gap 17 nights earlier and improvisedGIST=LOCAL.npx vitest run98/98 → 99/99.@dream-machine/compile(this repo's own stated single source of truth) instead of leaving it as per-night improvisation.Reward-Hack Check
Self-adversarial pass (no second agent spawned — recorded limitation): no assertions removed (one added, asserting the old unconditional sentence is gone via
not.toMatch, so a revert would be caught); no gold answers touched; evaluator unmodified; no threshold/cache changes; ~10-line diff. No unresolved signal.Security Review
No security-sensitive surface: no prompt-injection vector, no MCP/tool authority change, no credential path touched, no filesystem/network scope change; snapshot regenerated deterministically from source.
Regression Analysis
99/99 tests pass, including all 98 pre-existing tests unmodified in assertion content (only the golden snapshot's expected string changed, as the deliberate output of this diff).
npm run buildandnpm run lintboth clean. Pre-existing, unrelated:npm run typecheck'stsc -b --noEmitpath fails withTS18002: the 'files' list in config file tsconfig.json is empty— reproduces identically on the parent commit before this diff (root tsconfig.json is a references-only composite file); not touched or caused by this candidate.ADR
None — this is a wording/parameter-level fix inside the compiler, not an architectural decision (per this repo's own STEP 19 guidance: "never for parameter changes, benchmark additions, docs, or minor prompt/routing tweaks").
Gist
No
gh/MCP gist tool available tonight (the exact gap this candidate fixes) — published as a committed artifact instead:docs/dream-cycle/2026-08-30-compiler-parity-report.md.GIST=LOCAL.Issue
#54
Witness
Verify:
sha256sum docs/dream-cycle/2026-08-30-compiler-parity-report.mdthenprintf '%s%s' "<that hash>" "7933c3599abe22df5290f4609d1f93f598feb3de" | sha256summust equal the witness above.Merge Policy
Guarded auto-merge is enabled for this repo (
dream.config.json→autoMerge: true) but only for a PR carrying the repo's explicit low-risk label, green on every required check, touching no evaluation/gate/safety infrastructure. This PR does not carry that label — it changes the compiler's own prompt-generation logic (arguably gate-adjacent: it changes what future nightly sessions are told to do), so it is being left human-review-only. This session never merges and is not requesting auto-merge.Generated by Claude Code