Skip to content

compiler-parity: STEP 17-18 gist publication is best-effort, not gh-only - #55

Draft
ruvnet wants to merge 2 commits into
mainfrom
dream/2026-08-30-compiler-parity
Draft

compiler-parity: STEP 17-18 gist publication is best-effort, not gh-only#55
ruvnet wants to merge 2 commits into
mainfrom
dream/2026-08-30-compiler-parity

Conversation

@ruvnet

@ruvnet ruvnet commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Hypothesis

Given the Dream Machine's self-hosted compiler, when STEP 17-18 is changed from unconditionally requiring gh gist create --public to describing gist publication as best-effort across whatever tool the environment actually provides (explicit GIST=LOCAL fallback), then future gh-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.tsstep17to18Publish(): 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.

  • Baseline (parent 7933c359): Test Files 7 passed (7), Tests 98 passed (98).
  • Candidate: Test Files 7 passed (7), Tests 99 passed (99) — 98 baseline + 1 new pinning test, 0 regressions.
  • Golden snapshot regenerated; diff is exactly the STEP 17-18 paragraph (see the snapshot hunk in this PR).
  • Self-hosting closure: re-ran node packages/cli/dist/bin.js compile dream.config.json after the fix against this repo's own real dream.config.json and 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

  • OBSERVATION: which gh → absent this session; live MCP tool search for a gist-creation tool → none found.
  • OBSERVATION: docs/dream-cycle/2026-08-13-security-adversarial-report.md (lines 229-234) independently hit the identical gap 17 nights earlier and improvised GIST=LOCAL.
  • MEASUREMENT: npx vitest run 98/98 → 99/99.
  • DECISION: encode the fallback into @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 build and npm run lint both clean. Pre-existing, unrelated: npm run typecheck's tsc -b --noEmit path fails with TS18002: 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

report_sha256 : 53947cfb707b7102627113c64687bb04e24adea7648ad2977447cbdd609c1e8d
session_commit: 7933c3599abe22df5290f4609d1f93f598feb3de
witness       : c1fe7926ffa1cd4cb49688c30de3115622582682948c001c935fce9d5f664eb5

Verify: sha256sum docs/dream-cycle/2026-08-30-compiler-parity-report.md then printf '%s%s' "<that hash>" "7933c3599abe22df5290f4609d1f93f598feb3de" | sha256sum must equal the witness above.

Merge Policy

Guarded auto-merge is enabled for this repo (dream.config.jsonautoMerge: 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

claude added 2 commits August 30, 2026 09:13
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants