T-0AM0-preflight-probe-honors-runtime-edit-grant
Status: closed/superseded · Impact: medium · Complexity: small
The /sdlc:task-work Step 3b preflight permissions probe declares hard
Write/Edit file-mutation gaps for the worktree path whenever the runtime
grant is not expressed in the settings files it scans. When the harness runs in
acceptEdits or bypassPermissions mode the operator CAN write the worktree,
but the probe — which only reads permissions.allow globs from the settings
files — reports a false-positive gap, forcing a manual empirical check before
the task can proceed. Close the gap so the probe stops blocking on a grant that
exists at runtime.
The Step 3b preflight permissions probe reports false-positive Write/Edit gaps for the worktree path because it scans only the settings-file permission globs and not the harness’s runtime permission mode; under acceptEdits/bypassPermissions the grant exists at runtime but not in any settings file the probe reads. Fix: treat a runtime acceptEdits/bypassPermissions mode as a blanket file-mutation allow, or fall back to an empirical touch-test in the worktree before declaring a hard Write/Edit file-mutation gap.
— T-JZL4-generate-dashboard-api-client post-mortem
TBD — receiver to fill before promoting from planning/draft.
| Location | Role today |
|---|---|
plugin/skills/task-work/preflight_permissions.ts | TBD — the probe Step 3b shells out to; today it derives Write/Edit coverage from settings-file permissions.allow globs only, not the runtime permission mode. |
Proposed
Section titled “Proposed”TBD — receiver to fill before promoting from planning/draft.
Approach
Section titled “Approach”TBD — receiver to fill before promoting from planning/draft.
- TBD
Files to touch
Section titled “Files to touch”TBD — receiver to fill before promoting from planning/draft.
| Location | Kind | Change |
|---|---|---|
plugin/skills/task-work/preflight_permissions.ts | modify | TBD — honor a runtime acceptEdits/bypassPermissions mode as a blanket file-mutation allow, or fall back to an empirical touch-test before declaring a hard Write/Edit gap. |
Acceptance criteria
Section titled “Acceptance criteria”TBD — receiver to fill before promoting from planning/draft.
- AC-1: TBD
Out of scope
Section titled “Out of scope”- none
Dependencies
Section titled “Dependencies”- none
Discovery context
Section titled “Discovery context”Spawned by /sdlc:spawn-task-pr on 2026-06-28 UTC from T-JZL4-generate-dashboard-api-client in <git@github.com:sksizer/dev.git>.
Dedup search (spawn-from-post-mortem)
Section titled “Dedup search (spawn-from-post-mortem)”Bullet: Step 3b’s preflight_permissions.ts reported Write/Edit as hard gaps for the worktree path because this harness grants file-mutation tools at the top level rather than via path-scoped settings.json entries; the settings-file-only probe can’t see harness-level grants, so a real-but-spurious hard gap had to be judged a false positive before proceeding. The probe could treat a blanket/top-level file-mutation grant (or an acceptEdits-equivalent harness mode) as covering the worktree path. Keywords searched: acceptedits-equivalent, preflight_permissions, settings-file-only, real-but-spurious, file-mutation, harness-level, path-scoped, proceeding Excluded: T-ZGO4-rebase-parse-operations-table-on-markdown-contract Top candidates (score / status / headline):
- 29 / closed/done / T-WOL2-task-work-preflight-probes-file-mutation-tools — task-work Step 3b preflight should probe Write/Edit permission coverage
- 15 / closed/done / T-VE7H-task-work-probe-keys-package-manager-off-project — task-work permissions probe should key package-manager signal off project verbs, not blanket npm
- 6 / planning/draft / T-0AM0-preflight-probe-honors-runtime-edit-grant — task-work Step 3b preflight probe honors runtime acceptEdits/bypassPermissions (or touch-tests) before flagging Write/Edit gaps
- 5 / closed/obsoleted / T-OTX2-setup-seeds-pytest-permission — sdlc:setup seeds Bash(pytest:*) permission for pytest-based projects
- 4 / planning/proposed / T-NUML-task-work-preflight-permissions-probe-extension-for-skill-internal-scripts — task-work: pre-flight permissions probe doesn’t cover skill-internal scripts Decision: SPAWNED → overridden to LINKED-EXISTING T-0AM0-preflight-probe-honors-runtime-edit-grant Rationale: T-0AM0 (rank #3, planning/draft) is the verbatim active tracker — its title is “preflight probe honors runtime acceptEdits/bypassPermissions (or touch-tests) before flagging Write/Edit gaps” and its Goal states the probe “only reads permissions.allow globs from the settings files [and] reports a false-positive gap,” exactly this bullet’s harness-level-grant blind spot; its proposed fix (honor a runtime acceptEdits/bypassPermissions grant as a blanket file-mutation allow, or touch-test) is identical to this bullet’s. The script scored it low (6) only because the bullet’s hyphenated keywords (acceptedits-equivalent, settings-file-only, real-but-spurious) don’t appear in T-0AM0’s prose, and its top hits T-WOL2/T-VE7H are closed/done. Linking to the active owner rather than spawning a duplicate. Originating task: T-ZGO4-rebase-parse-operations-table-on-markdown-contract
- Duplicate draft proposed in #603 (
T-RML1-preflight-permissions-checks-effective-mode); folded by /sdlc:consolidate-task-prs into this task. - Duplicate draft proposed in #607 (
T-TBL1-preflight-permissions-reconcile-dispatch-context); folded by /sdlc:consolidate-task-prs into this task. - Duplicate draft proposed in #633 (
T-7XLY-preflight-permissions-match-harness-grants); folded by /sdlc:consolidate-task-prs into this task.
Consolidated (2026-07-19 task-review)
Section titled “Consolidated (2026-07-19 task-review)”- Absorbs T-OHMA-preflight-permissions-advisory-tiebreaker (merged): widen this task to cover npm (not just Write/Edit) and adopt the ‘failing probe is advisory + empirical touch-test tiebreaker’ framing.