Repository navigation
fix: ask the harness question before naming a fault, and name the CI artifact #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -27,6 +27,34 @@ forge's enforcement keeps moving into `templates/` programs, and why the | |
| `docs/views/` guard being a `PreToolUse` hook rather than a `PostToolUse` one | ||
| also happens to be the portable choice. | ||
|
|
||
| **Degradation is silent, and a project may assert otherwise in its own docs.** forge is | ||
| written for Claude Code, so a project can carry a sentence like "nothing under | ||
| `docs/views/` may be hand-edited, a PreToolUse hook denies it" that is simply false | ||
| under a harness which never loads that hook, with nothing anywhere to say so. The rule | ||
| that keeps a guarantee honest is to place it in a program the project runs rather than in | ||
| a hook the harness may not provide: `templates/lefthook.yml` runs | ||
| `forge-views.js check` as `06_views` under `pre-push`, which holds everywhere, and | ||
| the PreToolUse hook is the fast local deny where it is available. Word it that way round. | ||
|
|
||
| ## Telling which harness you are in | ||
|
|
||
| A skill cannot ask the harness what it is, but every harness so far marks its own shell | ||
| environment. `/forge` Step 0 reads this table when the SessionStart hook did not fire | ||
| and the four mechanical checks all pass. | ||
|
|
||
| | Harness | Environment marker | Adapter | Install to | | ||
| |---|---|---|---| | ||
| | Claude Code | `CLAUDE_CODE_ENTRYPOINT`, `CLAUDE_CODE_SESSION_ID` | none needed | n/a | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win Make the no-adapter Claude Code path explicit.
🤖 Prompt for AI Agents |
||
| | omp (Oh My Pi) | `OMPCODE=1` | `harness/omp/forge-bridge.ts` | `~/.omp/agent/extensions/` | | ||
|
|
||
| **`CLAUDECODE=1` does not identify Claude Code.** omp sets it deliberately, for tool | ||
| compatibility, in the same environment where it sets `OMPCODE=1`. Read it as necessary | ||
| and not sufficient, and match a harness's own marker first. A harness absent from this | ||
| table is the expected case rather than an error, and the honest report is that the | ||
| manifest is probably not being read, with no cause invented. | ||
|
|
||
| Adding a harness is one row here and one directory beside this file. | ||
|
|
||
| ## omp (Oh My Pi) | ||
|
|
||
| `omp/forge-bridge.ts`. Copy to `~/.omp/agent/extensions/forge-bridge.ts` and | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Close the paragraph opened at Line 343.
The
<p>element is not closed before the following section. This produces invalid HTML and can change the parsed document structure.Suggested fix
with no recorded reason are treated as ready to start, exactly as before, and Forge offers to fill them in with you once. See <a href="`#away`">walking away and coming back</a>. + </p>📝 Committable suggestion
🧰 Tools
🪛 HTMLHint (1.9.2)
[error] 343-343: Tag must be paired, missing: [
], start tag match failed [] on line 343.
(tag-pair)
🤖 Prompt for AI Agents
Source: Linters/SAST tools