Skip to content

feat(agentic-harness): make generated orchestrator the hard-gate entry point (v0.6.0)#13

Merged
MrBogomips merged 1 commit into
mainfrom
feature/orchestrator-entry-point-gate
Jun 9, 2026
Merged

feat(agentic-harness): make generated orchestrator the hard-gate entry point (v0.6.0)#13
MrBogomips merged 1 commit into
mainfrom
feature/orchestrator-entry-point-gate

Conversation

@MrBogomips

Copy link
Copy Markdown
Owner

Summary

harness-setup generates a per-project orchestrator skill and registers a pointer in the target repo's CLAUDE.md. Until now that pointer carried only a soft, advisory trigger line:

Trigger: For {domain} work, use the {orchestrator-skill-name} skill. Answer simple questions directly.

So activation rested on (a) the model voluntarily heeding a soft sentence and (b) probabilistic skill-description matching — which the harness's own skill-writing-guide.md admits is conservative ("the model tends to skip a skill for a task it thinks it can handle bare-handed"), and maintenance.md even lists "the user bypassing the orchestrator" as a known failure mode. The orchestrator was not reliably the entry point.

This PR makes the generated CLAUDE.md register the orchestrator as a hard gate: the model must invoke it before responding to any prompt, with no CLAUDE.md-level bypass. CLAUDE.md is the highest-priority instruction layer, so a firm standing directive there is the reliable lever — not the probabilistic description. The triage that used to live in CLAUDE.md ("answer simple questions directly") moves inside the orchestrator's first phase (Phase 0: intake & triage), so a trivial or off-domain prompt still routes through the orchestrator and is answered quickly there, without spinning up a team for every message.

This is a behavior change to generated output only — minor and backward-compatible. Existing harnesses keep working; re-running setup/review upgrades them.

User decisions

  • Routing model = hard gate on all prompts (no escape valve at the CLAUDE.md layer).
  • Enforcement = CLAUDE.md directive + strengthened skill description; no hook (stays within the harness's current footprint).

Changes (9 files)

  • shared/claude-md-pointer.md (primary) — replaces the soft trigger with an entry-point directive (hard gate); relocates the triage note into the orchestrator; adds a multi-harness composition note (write the gate once as a routing preamble, each section keeps an Orchestrator: line).
  • skills/harness-setup/references/orchestrator-template.md — orchestrator descriptions in templates A/B/C now open with "Entry point for all {domain} work…"; a Phase 0: intake & triage front-step added to all three; SDD-coordination addendum + worked snippets re-headed to match; follow-up-keywords note.
  • skills/harness-setup/SKILL.md — Step 5 ("register the pointer") wording, the build-into-orchestrator bullets, and two new deliverable-checklist items (description asserts entry-point status; first phase is intake & triage).
  • Consistencyharness-review/SKILL.md, harness-review/references/usage-assessment.md, harness-setup/references/maintenance.md, shared/harness-model.md: "trigger rule" → "entry-point directive"; harness-review now flags a soft gate (or a bypassed orchestrator) as a finding.
  • Version/docsplugin.json 0.5.00.6.0; README line.

Test plan

  • bash tests/ci/run-structural-tests.sh — all suites passed (6 pre-existing warnings, none in agentic-harness)
  • claude plugin validate ./agentic-harness --strict — passed
  • Stale-phrasing sweep (grep -rn -i "answer simple questions directly\|trigger rule" agentic-harness/) — only the one intentional explanatory note remains
  • Template read-through: pointer + Phase 0 render coherently; SDD Phase 0 addendum still composes after the triage front-step

…y point (v0.6.0)

The generated project CLAUDE.md registered the orchestrator with a soft,
advisory trigger ("For {domain} work, use the {orchestrator} skill. Answer
simple questions directly."), so activation depended on the model heeding a
soft line plus probabilistic skill-description matching — which the harness's
own guide admits is conservative, and maintenance.md lists "user bypassing the
orchestrator" as a known failure mode.

Register it instead as a hard-gate entry point: invoke the orchestrator before
responding to any prompt, with no CLAUDE.md-level bypass. CLAUDE.md is the
highest-priority instruction layer, so a firm standing directive there is the
reliable lever, not the probabilistic description. The triage that used to live
in CLAUDE.md moves into the orchestrator's first phase (Phase 0: intake &
triage), so trivial/off-domain prompts still route through the orchestrator and
are answered quickly without spinning up a team.

- claude-md-pointer.md: entry-point directive + multi-harness composition note
- orchestrator-template.md: entry-point descriptions (templates A/B/C); Phase 0
  intake-and-triage front-step; SDD addendum and worked snippets re-headed;
  follow-up-keywords note
- harness-setup SKILL.md: Step 5 wording, build bullets, two checklist items
- consistency: harness-review, usage-assessment, maintenance, harness-model
  ("trigger rule" -> "entry-point directive")
- plugin.json 0.5.0 -> 0.6.0; README

Decisions (user): hard gate on all prompts; CLAUDE.md directive plus
strengthened description, no hook.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@MrBogomips MrBogomips merged commit 64dcf27 into main Jun 9, 2026
1 check passed
@MrBogomips MrBogomips deleted the feature/orchestrator-entry-point-gate branch June 9, 2026 17:02
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