Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
bcc5280
test(orchestrator): reproduce the parent-inline skill contract gap (#…
danielgap Sep 22, 2026
8383a54
fix(orchestrator): bind the parent inline path to the indexed skill r…
danielgap Sep 22, 2026
cb4d4aa
test(orchestrator): assert the inline-skill gap through the registere…
danielgap Sep 22, 2026
a6d7186
Merge remote-tracking branch 'origin/main' into test/348-inline-skill…
danielgap Sep 25, 2026
2566300
Merge remote-tracking branch 'origin/main' into fix/348-inline-skill-…
danielgap Sep 25, 2026
98f03c9
Merge branch 'test/348-inline-skill-gap-repro' into fix/348-inline-sk…
danielgap Sep 25, 2026
e2cf573
ci(windows): raise candidate-view git timeout for cold runners
danielgap Sep 25, 2026
27f9486
Merge branch 'test/348-inline-skill-gap-repro' into fix/348-inline-sk…
danielgap Sep 25, 2026
aefc10a
Merge remote-tracking branch 'origin/main' into test/348-inline-skill…
danielgap Sep 28, 2026
091fe3b
test(orchestrator): adapt the #348 probe to the appendSystemPrompt ha…
danielgap Sep 28, 2026
8fafea2
Merge remote-tracking branch 'fork/test/348-inline-skill-gap-repro' i…
danielgap Sep 28, 2026
0519fdf
Merge remote-tracking branch 'fork/test/348-inline-skill-gap-repro' i…
danielgap Sep 28, 2026
48b0ee0
Merge remote-tracking branch 'origin/main' into refresh-1358
danielgap Sep 30, 2026
9c12037
test(orchestrator): re-measure the canonical prompt budget after the …
danielgap Sep 30, 2026
21aacbe
Merge remote-tracking branch 'origin/main' into HEAD
danielgap Oct 5, 2026
12a2ae5
test(orchestrator): re-pin the canonical prompt budget to the measure…
danielgap Oct 5, 2026
d91531b
fix(orchestrator): reconcile the #348 clause with main's tightened ph…
danielgap Oct 5, 2026
1b89901
Merge remote-tracking branch 'origin/main' into fix/348-inline-skill-…
danielgap Oct 9, 2026
4736a68
fix(orchestrator): keep the #348 inline clause within #1731's 8,400 B…
danielgap Oct 9, 2026
26a7a6d
test(orchestrator): platform-correct child PATH and offline provider-…
danielgap Oct 9, 2026
8bc646b
Merge remote-tracking branch 'fork/fix/348-inline-skill-contracts' in…
danielgap Oct 9, 2026
b8f3996
test(orchestrator): satisfy the done-event reason type in the #348 tu…
danielgap Oct 9, 2026
e1c61e9
Merge remote-tracking branch 'origin/main' into fix/348-refresh-main
danielgap Oct 9, 2026
670f846
test(orchestrator): bind inline skill probe reply to the read result …
danielgap Oct 14, 2026
690fa0e
Merge remote-tracking branch 'origin/main' into fix/348-inline-skill-…
danielgap Oct 14, 2026
7f4ef75
Merge origin/main into fix/348-inline-skill-contracts
danielgap Oct 17, 2026
9433f6e
test(orchestrator): raise the core prompt budget to 9,150 B for the i…
danielgap Oct 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ jobs:

- name: Run Windows candidate view regression
shell: pwsh
env:
GENTLE_PI_CANDIDATE_GIT_TIMEOUT_MS: "60000"
run: |
$output = & pnpm exec node --experimental-strip-types --test --test-reporter=tap --test-name-pattern "candidate owner|candidate contributor root|candidate executable-mode validation|candidate registry forwards explicit Windows mode validation" tests/review-candidate-view.test.ts 2>&1
$status = $LASTEXITCODE
Expand Down
13 changes: 13 additions & 0 deletions assets/orchestrator-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,19 @@ If a subagent reports `skill_resolution`, interpret it as project/user skill res

If any subagent reports a fallback instead of `paths-injected`, treat it as an orchestration gap and correct future delegations by passing exact indexed paths directly.

### Parent inline execution

When the parent executes work inline that a resolved skill covers (Work
Routing Ladder tier 1), it follows the same read discipline as a delegated
subagent: read the exact indexed `SKILL.md` in this session before acting,
and let the skill's declared `## Output Contract` shape the result, so the
reply carries the same contract markers applying the skill directly would
produce. Close with one attribution line naming the applied skill
(`Skill applied (inline): <name>`); if the indexed path is unreadable,
proceed unskilled and say so in that line. Never present contract markers or
attribute a skill without the in-session read. Attribution carries the skill
name only, never paths.

## Intent-Driven Skill Discovery

For skill-shaped requests, do not treat injected `<available_skills>` as complete. Use the registry and filesystem only as a discovery aid; do not let a trigger table override the user's concrete request or turn a small request into a larger workflow.
Expand Down
2 changes: 1 addition & 1 deletion assets/orchestrator.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ With memory, the parent selects context; subagents save discoveries before retur

## Skill Registry Protocol

The parent resolves skill paths once per session under `## Skills to load before work`; subagents read those `SKILL.md` files first (`paths-injected`) or report unavailable paths; fallbacks: `orchestrator-skills.md`.
The parent resolves skill paths once per session under `## Skills to load before work`; subagents read those `SKILL.md` files first (`paths-injected`) or report unavailable paths; the parent's own inline path owes the same read. Fallbacks: `orchestrator-skills.md`.

## Intent-Driven Skill Discovery

Expand Down
2 changes: 1 addition & 1 deletion tests/fixtures/primary-session-prompt/gentleman.golden.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ With memory, the parent selects context; subagents save discoveries before retur

## Skill Registry Protocol

The parent resolves skill paths once per session under `## Skills to load before work`; subagents read those `SKILL.md` files first (`paths-injected`) or report unavailable paths; fallbacks: `orchestrator-skills.md`.
The parent resolves skill paths once per session under `## Skills to load before work`; subagents read those `SKILL.md` files first (`paths-injected`) or report unavailable paths; the parent's own inline path owes the same read. Fallbacks: `orchestrator-skills.md`.

## Intent-Driven Skill Discovery

Expand Down
4 changes: 3 additions & 1 deletion tests/orchestrator-budget.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ const FIXTURE_PATH = join(import.meta.dirname, "fixtures", "orchestrator.pre-die
// gentle-shell#1731 T10 (user decision): 8,192 -> 8,400 B for the narrowed high-risk items 1 and 3.
// Verification by named risk (escalate-only rule 3) and the writer-rule fix (triggers hold only when
// their condition holds; a unit is independent behavior over a size floor), user decision 2026-10-14: 8,400 -> 9,100 B.
const BUDGET_BYTES = 9100;
// gentle-shell#348: the Skill Registry Protocol binds the parent's own inline path to the same SKILL.md read
// (one sentence, 50 B), user decision 2026-10-18: 9,100 -> 9,150 B.
const BUDGET_BYTES = 9150;
const MIN_CONTROLLED_LONG_ASSETS_ROOT_CHARS = 93;

const LAZY_ASSET_NAMES = [
Expand Down
Loading
Loading