Skip to content

Phase 3: AI improvement pipeline, path anchoring, env-secret gate - #2

Merged
danielfmonzon merged 3 commits into
mainfrom
phase-3-pipeline
Aug 15, 2026
Merged

Phase 3: AI improvement pipeline, path anchoring, env-secret gate#2
danielfmonzon merged 3 commits into
mainfrom
phase-3-pipeline

Conversation

@danielfmonzon

Copy link
Copy Markdown
Owner

Two commits, both already reported in full.

3dc02b3 — Phase 3 pipeline + Part A anchoring + env-secret gate

  • improve/sources.py — allowlist of what analysis may READ
  • improve/firewall.py — denylist of what a proposal may CHANGE (7 frozen paths, 6 change classes), enforced at propose time and re-run against the actual diff at implement time
  • improve/propose.py — writes docs/proposals/PROP-n only, never edits code
  • improve/implement.py — branch, apply, gate, report, push, STOP; no merge verb exists in the module
  • Path anchoring: every module-level default in glassbox/ derives from PROJECT_ROOT, not the CWD (Defect PROP-1: PROP-1-story-page-undercounts-the-self-caught-incidents-it-sa… #1 and two siblings)
  • Env-secret gate: an UNCHECKED status aborts the automated deploy exactly as a redaction does (Defect Phase 3: AI improvement pipeline, path anchoring, env-secret gate #2)

8a192ad — outstanding public snapshot captures, clearing the provenance warning.

668 tests pass; ruff and mypy clean.

Direct push to main is correctly blocked by repository rules, so this goes through review like any other change.

The pipeline: propose -> firewall -> implement -> human merge.

* improve/sources.py  - allowlist of what analysis may READ (published artifacts
  and the decision log; source code is deliberately not readable evidence).
* improve/firewall.py - denylist of what a proposal may CHANGE: seven frozen
  paths and six change classes, enforced at propose time AND re-run against the
  actual diff at implement time. Refusals cite the iron rule verbatim.
* improve/propose.py  - writes docs/proposals/PROP-n only; never edits code.
* improve/implement.py - branch, apply, gate, report, push, STOP. No merge verb
  exists in the module; two tests prove main is never touched.

Path anchoring (Defect #1 and its two siblings found by the audit): every
module-level default path in glassbox/ now derives from PROJECT_ROOT rather than
the CWD. The unattended chain runs in C:\Windows\System32, where a relative
Path("reports") raised PermissionError WinError 5 naming a directory that had
never existed. verify_dist s .env fallback was the same defect but failed worse:
a missing .env is not an error there, so the env-secret search would have
silently become a no-op while the gate still reported PASS.

Env-secret gate (consequence of Defect #2): in the automated refresh chain, an
UNCHECKED env-secret status now aborts at the deploy decision exactly as a
redaction does. Interactive and --dry-run keep the note.

668 tests pass; ruff and mypy clean.
These accumulated across the 08-14 and 08-15 refreshes. Committing them clears
the provenance warning: the chain records the commit it deployed from, and a
dirty tree meant the published bytes cited a commit that did not contain them.
The 18:01Z chain regenerated these after PROP-1 merged; the Story page copy
and the manifest commit both moved.
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.

1 participant