Skip to content

fix: L2 correctness fixes split from loop-engineering (evals, publish gate, guard, env) - #23

Merged
adithya0597 merged 1 commit into
mainfrom
fix/l2-fixes
Jul 21, 2026
Merged

fix: L2 correctness fixes split from loop-engineering (evals, publish gate, guard, env)#23
adithya0597 merged 1 commit into
mainfrom
fix/l2-fixes

Conversation

@adithya0597

Copy link
Copy Markdown
Owner

Summary

Pure bug-fix layer split out of feat/loop-engineering-v3 (per adversarial review: fixes should not be bundled with loop-automation infra). No workflows, no rulesets, no loops/ — those stay on the feature branch (#21/#22).

  • tools/publish_gate.sh (P1, security-relevant) — NUL-delimited staged-file loop. The previous for f in $FILES word-split meant a secret inside a filename containing a space exited CLEAN. Functionally re-proven on this branch: a spaced-filename ghp_… token now BLOCKS (exit 1); clean surface stays CLEAN (exit 0).
  • 03-evals/src/eval_{corrective,ocr,planner}.py — diagnostics print the resolved Neo4j URI instead of hardcoded bolt://localhost:7688.
  • 03-evals/ docs/tests (golden_v1_review.md, golden_v1_draft.py, test_g3.py, h3_instr.py) — stale claims corrected (6 roles → 3 roles; docstring drift).
  • tools/run_guard.py — self_test docstring matches ALLOWLIST-exemption behavior (GUARD_SELFTEST_OK).
  • 01-context/setup_a2.sh — pin neo4j-graphrag.
  • .env.example — correct Neo4j/paperclip facts; add LANGFUSE_HOST / BG_EMBED_MODEL.
  • .gitignore — ignore .claude/lessons.md (local working notes).

Verification (run locally on this branch)

  • bash -n both shell scripts; ast.parse all 6 Python files — clean
  • Functional: temp repo, staged "my secret file.txt" containing a ghp_ token → publish gate: BLOCKED exit 1; negative control → CLEAN exit 0
  • python3 tools/run_guard.py --self-testGUARD_SELFTEST_OK
  • bash tools/publish_gate.sh over the staged 12-file surface → CLEAN
  • Carried files byte-identical to their feat/loop-engineering-v3 versions (git diff empty)

Merge note

Solo repo: classic branch protection requires 1 approval — merge with gh pr merge --admin (founder). Do not apply the loop-merge-gates ruleset before merging this: it requires publish-gate/pr-classified checks whose workflow files exist only on the feature branch → would deadlock this PR.

🤖 Generated with Claude Code

…ublish gate, guard, env)

Cherry-set of the pure bug-fix layer from feat/loop-engineering-v3, split out
per adversarial review so fixes are not bundled with loop automation infra:

- tools/publish_gate.sh: NUL-delimited staged-file loop — the previous
  `for f in $FILES` word-split let a secret in a spaced filename exit CLEAN
  (P1; functionally re-proven: spaced-filename ghp_ token now BLOCKS exit 1)
- 03-evals/src/eval_{corrective,ocr,planner}.py: diagnostics interpolate the
  resolved Neo4j URI instead of hardcoded bolt://localhost:7688
- 03-evals/{golden_v1_review.md,src/{golden_v1_draft,test_g3,h3_instr}.py}:
  stale claims corrected (6 roles -> 3 roles; docstring drift)
- tools/run_guard.py: self_test docstring matches ALLOWLIST-exemption behavior
  (GUARD_SELFTEST_OK)
- 01-context/setup_a2.sh: pin neo4j-graphrag
- .env.example: correct Neo4j/paperclip facts; add LANGFUSE_HOST/BG_EMBED_MODEL
- .gitignore: ignore .claude/lessons.md (local working notes)

Loop scheduler/heartbeat/rulesets stay on the feature branch (PR #21/#22).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
adithya0597 added a commit that referenced this pull request Jul 21, 2026
… infra parked, OAuth rewire, deadlock warning

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@adithya0597
adithya0597 merged commit 37aade5 into main Jul 21, 2026
8 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 21, 2026
@adithya0597
adithya0597 deleted the fix/l2-fixes branch July 21, 2026 20:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant