diff --git a/odd/pr/2266-slice2-chain/01-dispatch.md b/odd/pr/2266-slice2-chain/01-dispatch.md new file mode 100644 index 000000000..15520d01f --- /dev/null +++ b/odd/pr/2266-slice2-chain/01-dispatch.md @@ -0,0 +1,64 @@ +## Linked Issue + +Refs Gentleman-Programming/gentle-shell#2266. PR URL: https://github.com/rubenpenap/gentle-shell/pull/1. +No repository PR template is present; approved mechanical fallback used. + +## PR Type + +- [x] Bug fix + +Verified label: `type:bug` (exactly one `type:*` label). Upstream issue #2266 is approved. Draft/no-merge. + +## Summary + +Forward parent-resolved user policy at dispatch; delete stale disabled values. +The child does not resolve policy in its worktree. This unit alone provides no full background support. + +## Chain Context + +| Field | Value | +|---|---| +| Position / source unit | 1 / 3; `1bd87f203fb03c91af687d494b06f120bc0fa930` | +| Candidate diff lines | 46 verified against immediate parent | +| Target repository | `rubenpenap/gentle-shell` | +| Head | `feat/2266-slice2-01-dispatch` | +| Base / starts at | `feat/2266-slice2-tracker` coordination head | +| Ends with | Dispatch flag forwarding and stale removal | +| Depends on | [tracker #2575](https://github.com/Gentleman-Programming/gentle-shell/pull/2575); upstream test-fixture reconciliation completed | +| Follow-up | [fork #2](https://github.com/rubenpenap/gentle-shell/pull/2), then [fork #3](https://github.com/rubenpenap/gentle-shell/pull/3) | + +```text +main (Gentleman-Programming/gentle-shell) +└── upstream #2575 · feat/2266-slice2-tracker + └── 📍 fork #1 · feat/2266-slice2-01-dispatch + └── fork #2 · feat/2266-slice2-02-job-ipc + └── fork #3 · feat/2266-slice2-03-registration +``` + +Out of scope: job IPC, registration, monitor, nested delegation, Slice 3 drain/hold/timers and post-settlement delivery. +No automatic child-model delivery or size exception claimed. + +## Changes Table + +| File | Intended transplanted change | +|---|---| +| `lib/agents-runner.ts` | Resolve policy at dispatch and normalize flag | +| `tests/agents-runner.test.ts` | Enabled/off/stale-flag coverage | + +## Test Plan + +Current-base child 01 runner: **119/119 passed**. Upstream Windows TMP/TEMP fixtures and isolated policy config are preserved. Aggregate child 03 parent/independent focused checks: **140/140**, typecheck **0 diagnostics**; that aggregate is not a claim all tools exist in child 01. +Current-base full `pnpm test` exited **1 before any tests** with `ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY` during an automatic dependency-install attempt. No retry/reinstall/CI override. Fresh current-base historical off-path differential remains unverified. +Old-base aggregate only: 136/136 focused, typecheck 0, compatibility differentials matched. +Old full suite: 7,385 total / 7,290 passed / 22 failed / 73 skipped; diagnosed baseline environments, not new-base evidence. +Native review pending/unavailable: original retained-selection mismatch produced no lineage/approval; new candidate unreviewed. +CI/packed install pending. Offline core-corpus bench not executed; exact commands and default-off acceptance are in tracker body. +Preserve both bench run exits; no new scenarios, paid LLM probes or measurement claims. +Functional post-yield acceptance is future Slice 3, not this child. + +## Contributor Checklist + +- [x] Immediate-parent destination and nonclosing fork-qualified reference documented. +- [ ] Clean transplant and isolated candidate diff verified. +- [ ] Current verification, native review, bench and required CI/packed install complete. +- [x] Upstream issue approval and exactly one `type:bug` label verified for this child PR. diff --git a/odd/pr/2266-slice2-chain/02-job-ipc.md b/odd/pr/2266-slice2-chain/02-job-ipc.md new file mode 100644 index 000000000..74602913d --- /dev/null +++ b/odd/pr/2266-slice2-chain/02-job-ipc.md @@ -0,0 +1,64 @@ +## Linked Issue + +Refs Gentleman-Programming/gentle-shell#2266. PR URL: https://github.com/rubenpenap/gentle-shell/pull/2. +No repository PR template is present; approved mechanical fallback used. + +## PR Type + +- [x] Bug fix + +Verified label: `type:bug` (exactly one `type:*` label). Upstream issue #2266 is approved. Draft/no-merge. + +## Summary + +Add strict acknowledged job frames with exact keys, phase validation and bounded output. +Review parser validation before runner admission/NOTE-before-ACK handling. +Dispatch plus IPC alone provides no full child background support. + +## Chain Context + +| Field | Value | +|---|---| +| Position / source unit | 2 / 3; `73cc0e8ff08ef7a2915b323fa80d6ee43487d115` | +| Candidate diff lines | 194 verified against immediate parent | +| Target repository | `rubenpenap/gentle-shell` | +| Head | `feat/2266-slice2-02-job-ipc` | +| Base / starts at | `feat/2266-slice2-01-dispatch` | +| Ends with | Validated job evidence and notification-style ACK handling | +| Depends on | [fork #1](https://github.com/rubenpenap/gentle-shell/pull/1); upstream harness options preserved during reconciliation | +| Follow-up | [fork #3](https://github.com/rubenpenap/gentle-shell/pull/3); [tracker #2575](https://github.com/Gentleman-Programming/gentle-shell/pull/2575) | + +```text +main (Gentleman-Programming/gentle-shell) +└── upstream #2575 · feat/2266-slice2-tracker + └── fork #1 · feat/2266-slice2-01-dispatch + └── 📍 fork #2 · feat/2266-slice2-02-job-ipc + └── fork #3 · feat/2266-slice2-03-registration +``` + +Out of scope: tool registration, monitor, nested delegation, Slice 3 drain/hold/timers and post-settlement delivery. +No automatic child-model delivery or size exception claimed. + +## Changes Table + +| File | Intended transplanted change | +|---|---| +| `lib/agents-messaging.ts`, `tests/agents-messaging.test.ts` | Strict pending/settled/drained frames and parser tests | +| `lib/agents-runner.ts`, `tests/agents-runner.test.ts` | Authorized evidence, settled NOTE before ACK, bounded duplicate retention | + +## Test Plan + +Current-base child 02 runner/messaging: **127/127 passed**. Upstream cleanup/exit-on-stdin-end fixture options and the query hook are preserved. Aggregate child 03 parent/independent focused checks: **140/140**, typecheck **0 diagnostics**; child 02 itself does not register job tools. +Current-base full `pnpm test` exited **1 before any tests** with `ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY` during an automatic dependency-install attempt. No retry/reinstall/CI override. Fresh current-base historical off-path differential remains unverified. +Historical only: unit messaging+runner 123/123; final aggregate 136/136, typecheck 0; legacy notification/query differential matched. +Old full suite: 7,385 total / 7,290 passed / 22 failed / 73 skipped; baseline environmental diagnosis is not current-base proof. +Original native retained-selection mismatch created no lineage/approval; current candidate unreviewed. +CI/packed install pending. Offline core-corpus bench not executed; tracker contains exact commands/default-off acceptance. +Preserve both run exits; no new scenarios, paid LLM bench or measurement claims. + +## Contributor Checklist + +- [x] Immediate-parent boundary and fork-qualified issue reference documented. +- [ ] Clean transplant and isolated candidate diff verified. +- [ ] Fresh checks, native review, bench, packed install and target-policy required CI complete. +- [x] Upstream issue approval and exactly one `type:bug` label verified for this child PR. diff --git a/odd/pr/2266-slice2-chain/03-registration.md b/odd/pr/2266-slice2-chain/03-registration.md new file mode 100644 index 000000000..f896eb2f1 --- /dev/null +++ b/odd/pr/2266-slice2-chain/03-registration.md @@ -0,0 +1,68 @@ +## Linked Issue + +Refs Gentleman-Programming/gentle-shell#2266. PR URL: https://github.com/rubenpenap/gentle-shell/pull/3. +No repository PR template is present; approved mechanical fallback used. + +## PR Type + +- [x] Bug fix + +Verified label: `type:bug` (exactly one `type:*` label). Upstream issue #2266 is approved. Draft/no-merge. + +## Summary + +Register private child tools only with enabled flag, explicit `bash_background` declaration and live owned IPC. +Reuse registry/tool machinery and child-session ownership; scratch-only output, `job_list`/`job_stop`, owned-job cleanup. +Review gates/cleanup first, then help/docs. Child early return and user-owned policy remain intact. + +## Chain Context + +| Field | Value | +|---|---| +| Position / source unit | 3 / 3; `223ed83e7fc7c9bb81b99a9cef87deb75fd54f55` | +| Candidate diff lines | 310 verified against immediate parent | +| Target repository | `rubenpenap/gentle-shell` | +| Head | `feat/2266-slice2-03-registration` | +| Base / starts at | `feat/2266-slice2-02-job-ipc` | +| Ends with | Live-child tool registration/completion and cleanup, not post-settlement support | +| Depends on | [fork #2](https://github.com/rubenpenap/gentle-shell/pull/2); clean merge-tree preflight | +| Follow-up | Reviewed source-chain integration into [tracker #2575](https://github.com/Gentleman-Programming/gentle-shell/pull/2575); future Slice 3 | + +```text +main (Gentleman-Programming/gentle-shell) +└── upstream #2575 · feat/2266-slice2-tracker + └── fork #1 · feat/2266-slice2-01-dispatch + └── fork #2 · feat/2266-slice2-02-job-ipc + └── 📍 fork #3 · feat/2266-slice2-03-registration +``` + +Out of scope: monitor, nested delegation, Slice 3 drain/hold/timers/deadlines, post-settlement completion and automatic child-model delivery. +Functional post-yield acceptance belongs to Slice 3; tracker cannot merge until chain/review/bench/Slice 3 coordination resolves. +No size exception requested or approved. + +## Changes Table + +| File | Intended transplanted change | +|---|---| +| `lib/child-background-jobs.ts`, `extensions/gentle-agents.ts` | Child-private setup, ownership and lifecycle cleanup | +| `lib/agents-runner.ts`, `lib/background-jobs-tools.ts` | Scratch-failure capability removal and child-only help | +| `tests/child-background-jobs.test.ts` | Gates, completion and cleanup; existing runner tests remain inherited from earlier units | +| `docs/delegated-verification.md`, `docs/readme-reference.md` | Capability and delivery limits | + +## Test Plan + +Current-base child 03 parent and independent focused checks: **140/140 passed**, typecheck **0 diagnostics**. Exact parent topology and isolated diff verified; independent public probes preserved exit 7, both markers, one completion, private scratch, ownership, shared ACK sequence and abort-once cleanup. +Current-base full `pnpm test` exited **1 before any tests** with `ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY` during an automatic dependency-install attempt. No retry/reinstall/CI override. Fresh current-base historical off-path differential remains unverified. CI/packed install pending. +Old-base only: final 136/136, typecheck 0; public-API differentials matched without observable regression. +Historical live-child probes preserved exit 7, distinct stdout/stderr and one completion; not post-settlement proof. +Old full suite: 7,385 total / 7,290 passed / 22 failed / 73 skipped; explained baseline environments, not current-base evidence. +Native review pending: original retained-selection mismatch yielded no lineage/approval; new candidate unreviewed. +Offline core-corpus bench not executed; tracker lists exact commands/default-off acceptance. Preserve both run exits. +No new scenarios, paid LLM bench or measurement claims; #2552 remains separate. + +## Contributor Checklist + +- [x] Immediate-parent boundary and explicit Slice 3 limits documented. +- [ ] Clean transplant, isolated diff, fresh verification and native review complete. +- [ ] Offline bench, packed install and target-policy required CI complete. +- [x] Upstream issue approval and exactly one `type:bug` label verified for this child PR. diff --git a/odd/pr/2266-slice2-chain/tracker.md b/odd/pr/2266-slice2-chain/tracker.md new file mode 100644 index 000000000..293cb3b37 --- /dev/null +++ b/odd/pr/2266-slice2-chain/tracker.md @@ -0,0 +1,71 @@ +## Linked Issue + +Refs #2266. Keep open for Slice 3. PR URL: https://github.com/Gentleman-Programming/gentle-shell/pull/2575. +No repository PR template is present; approved mechanical fallback used. + +## PR Type + +- [x] Bug fix + +Issue #2266 is `status:approved`. Intended label: `type:bug` (available upstream); a maintainer must apply it because this contributor has READ permission upstream. + +## Summary + +- Coordination-only tracker until reviewed children integrate; no source tools are in this initial head. +- All four PRs remain draft/no-merge. Source chain, review, bench and Slice 3 coordination must resolve before tracker merge. +- Publication is authorized through the contributor fork; no merge is authorized. Source PRs target immediate parent branches in that fork. + +## Chain Context + +| Position | Source unit | Candidate diff lines | PR URL | +|---|---|---:|---| +| Tracker | Coordination docs only | 298 at initial publication | https://github.com/Gentleman-Programming/gentle-shell/pull/2575 | +| 1 / 3 dispatch | `1bd87f203` | 46 verified | https://github.com/rubenpenap/gentle-shell/pull/1 | +| 2 / 3 job IPC | `73cc0e8ff` | 194 verified | https://github.com/rubenpenap/gentle-shell/pull/2 | +| 3 / 3 registration | `223ed83e7` | 310 verified | https://github.com/rubenpenap/gentle-shell/pull/3 | + +```text +main (Gentleman-Programming/gentle-shell) +└── 📍 upstream #2575 · feat/2266-slice2-tracker + └── fork #1 · feat/2266-slice2-01-dispatch + └── fork #2 · feat/2266-slice2-02-job-ipc + └── fork #3 · feat/2266-slice2-03-registration +``` + +Starts at verified main `cb0c5a2e548e278bd65fc503552b10862c4efa11`. +Target: `Gentleman-Programming/gentle-shell`, base `main`, head `rubenpenap:feat/2266-slice2-tracker`. +Ends with coordination now; eventual source integration requires separate gate resolution. +Source transplant and bounded test-fixture reconciliation are complete; depends on all child reviews. Follow-up: children 1–3 then Slice 3 coordination. +Out of scope: drain/hold/timers, post-settlement completion, automatic child-model delivery and #2552 fixes. +No size exception is requested or approved; source counts exclude coordination docs and need current-base confirmation. + +## Changes Table + +| Surface | Change | +|---|---| +| `odd/tasks/2266-slice2-tracker.md`, `odd/pr/2266-slice2-chain/` | Coordination and draft bodies only | + +## Test Plan + +Current upstream-base aggregate (child 03): parent and independent focused checks **140/140 passed**, typecheck **0 diagnostics**. Child 01 runner **119/119**; child 02 runner/messaging **127/127**. Parent topology and isolated **46/194/310**-line diffs verified. +Current-base `pnpm test` exited **1 before executing tests**: `ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY` during an automatic dependency-install attempt. No reinstall, retry, CI override or substitute full-suite run. A fresh current-base off-path historical differential remains unverified. CI/packed install: pending. +Historical old-base only: focused 136/136, typecheck 0, differentials without observable regression. +Old full suite: 7,385 total, 7,290 passed, 22 failed, 73 skipped; baseline environmental failures diagnosed, not a current-base pass. +Native review unavailable on original retained-selection mismatch; no lineage/approval. New candidates unreviewed. +Bench per decode2 comment6424231029: deterministic offline core corpus, no new scenarios, not executed: + +```text +gentle-ai-bench run --binary --out before.json +gentle-ai-bench run --binary --out after.json +gentle-ai-bench compare --before before.json --after after.json +``` + +Preserve both run exits. Default policy off: no journey status flip; friction within baseline noise. +No paid LLM bench or measured cost/performance claim. Functional post-yield acceptance belongs to future Slice 3. + +## Contributor Checklist + +- [x] Nonclosing reference and chain boundaries documented. +- [ ] Issue approval and exactly one available `type:bug` label confirmed/applied for publication. +- [ ] Children integrated; fresh verification, native review, offline bench, packed install and required CI complete. +- [ ] Slice 3 coordination resolved before tracker merge; no merge authorization implied. diff --git a/odd/tasks/2266-slice2-tracker.md b/odd/tasks/2266-slice2-tracker.md new file mode 100644 index 000000000..9af4ea1dc --- /dev/null +++ b/odd/tasks/2266-slice2-tracker.md @@ -0,0 +1,33 @@ +# Slice 2 publication coordination — T7 / S10–S11 + +Strategy: `feature-branch-chain`; all four PRs draft/no-merge. +All four branches and draft PRs published after human OAuth reauthorization; no force-push or merge. Source refs and isolated remote diffs verified. + +## Boundaries + +- Verified upstream main: `cb0c5a2e548e278bd65fc503552b10862c4efa11` (parent evidence). +- Workspace branch: `feat/2266-slice2-tracker`; initially coordination docs only. +- Rebased source heads: `1bd87f203` (46), `73cc0e8ff` (194), `223ed83e7` (310 changed lines), total 550. +- Preflight conflicts were diagnosed without an index/merge state; test-only overlaps reconciled while preserving both upstream and slice behavior. +- Source tests/docs and exact parent topology retained; individual child diffs verified. +- Child branches layer on tracker → 01-dispatch → 02-job-ipc → 03-registration. +- Tracker targets `Gentleman-Programming/gentle-shell:main` from `rubenpenap:feat/2266-slice2-tracker`. +- Children target `rubenpenap/gentle-shell`, each against its immediate parent. +- Bodies: `odd/pr/2266-slice2-chain/`; tracker https://github.com/Gentleman-Programming/gentle-shell/pull/2575; children https://github.com/rubenpenap/gentle-shell/pull/1, https://github.com/rubenpenap/gentle-shell/pull/2, https://github.com/rubenpenap/gentle-shell/pull/3. + +## Remaining gates + +- [x] Parent transplanted source and verified clean child-only diffs and topology. +- [x] Current-base child 01 runner 119/119; child 02 messaging/runner 127/127; child 03 parent and independent focused 140/140, typecheck 0. +- [ ] Current-base full suite: `pnpm test` exited 1 before tests, `ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY`; no reinstall/retry/CI override. Fresh off-path historical differential remains unverified. +- [ ] Native review with valid candidate lineage; current candidates unreviewed. +- [ ] Offline core-corpus before/after/compare, preserving both run exits. +- [ ] Packed-install verification and target-policy required CI. +- [ ] Source-chain review/integration and Slice 3 functional-release coordination. + +Historical only: 136/136 focused, typecheck 0; compatibility differentials matched. +Old full suite: 7,385 total / 7,290 passed / 22 failed / 73 skipped; baseline environmental diagnosis recorded in original task, not current-base proof. +Native retained-selection mismatch created no lineage/approval; do not infer a waiver. +#2552 diagnostics remain separate; no paid LLM bench, new scenarios or measurement claims. + +Publication checks: all four PRs OPEN and draft; child labels exactly `type:bug`; upstream tracker label requires maintainer action. Tracker CI is running for coordination docs only; child PRs currently have no checks reported. No source CI pass inferred from tracker CI.