feat: add implementation-shape guardrail lens - #3
Conversation
tt-a1i
left a comment
There was a problem hiding this comment.
Thanks for the contribution. The problem is real, especially for tests and static checks that preserve an obsolete implementation shape rather than an active contract. However, I do not think this should become a second top-level objective based on whether a change was AI-generated.
AI provenance is usually neither observable nor relevant to deletion safety. The existing Support drag, Boundary theater, and Feature fossil lenses already cover most of this surface. A smaller implementation-shape guardrail lens, reusing the existing proof record and execution workflow, would preserve the value without adding a parallel decision model.
Before merging, this also needs behavioral validation for the new deletion path. The current PR adds structural checks only. Please add scenarios covering an ambiguous request, a removable implementation-shape guard, a retained business/security/deployment guard, separation of mixed objectives, and a complete deletion receipt.
The portability portion also needs revision:
- the documented
python scripts/verify_harness_contract.pycommand fails in a common macOS environment where onlypython3is available; - the Codex paths are stale: current official documentation uses
$HOME/.agents/skillsand repository.agents/skills; - the custom parser can report valid for invalid YAML and allows relative links to escape the package root;
agents/openai.yamlis described as optional but enforced as mandatory;- directory-name verification follows symlinks and can validate the target name instead of the installed alias;
- the hand-written seven-harness matrix and 102-line validator add ongoing compatibility debt without tests or CI.
There are also routing inconsistencies: category definitions are loaded only after the category has supposedly been selected, selected-objective-only references can conflict with the shared investigation/lifecycle rules, and the default OpenAI prompt always asks for an objective even when the user intent is already clear. The defensive proof and delivery reference also duplicates the existing proof record, execution sequence, and receipt.
I recommend splitting the harness compatibility work into a separate PR, reducing defensive cleanup to one focused implementation-shape-guardrail lens under ordinary simplification, reusing the current evidence model, and adding behavior-level fixtures before reconsidering the change.
|
Addressed the requested changes in
The PR title and body now reflect the narrowed scope. @tt-a1i, please re-review when convenient. |
Summary
Closes #2.
This adds one focused implementation-shape guardrail lens to the existing
$simplify-codebaseworkflow.The earlier parallel defensive-cleanup workflow and harness-portability implementation have been removed from this PR. Harness compatibility can be proposed independently.
Behavioral validation
An independent Skill run exercised a small Node.js fixture containing pricing and authorization behavior, a deployment check, one dead helper, and a test/script pair that enforced exact source layout and spelling.
tests/layout.guard.test.js,scripts/check-layout.js, andcheck:layout; baseline was 4/4 tests plus layout/deployment checks, and the result passed all 3 surviving behavior tests plus deployment verification. The receipt accounted for every deleted artifact.Mechanical validation
git diff --check upstream/main...HEAD: passed