D1-05 — Add bounded TaskSpec support for Scarcity Router #166 #42
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Creatidy/creatidy-kernel#42
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #30
Goal
Make the already selected real task
BioMedical-IT/scarcity-router#166representable by the Kernel without weakening the existing #143 safeguards or introducing a generic workflow DSL.Target Scarcity Router base observed during selection:
5792d2dfa1d76fbd973baf2ef82b5fcf236342e9Target issue:
#166 — Flaky test fixture: fake-process _feed thread can write after pipe closeScope
_baseline()logic only as far as necessary to support bounded task-specific structural validation.tests/test_openai_codex_acquisition.pyuv run python -m unittest tests.test_openai_codex_acquisition.SafeTermination -vuv run python -m unittest tests.test_openai_codex_acquisition -vmake check#166 acceptance boundary
The implementation must preserve the real pipe/non-blocking writer fixture and establish safe feeder/write-descriptor ownership or shutdown ordering.
Do not accept:
The future candidate must include deterministic forced-interleaving regression coverage proving the unsafe baseline and the corrected ownership invariant.
Architecture constraint
Do NOT build:
Prefer a small typed per-task structural validator/policy seam.
Live execution
This issue authorizes Kernel support and TaskSpec registration only.
Do NOT execute #166.
Do NOT start provider inference.
Do NOT push a candidate to Scarcity Router.
Do NOT merge or deploy.
After merge, run a fresh zero-inference preflight before any live execution.
Implemented support-only in PR #43, targeting
develop.Base re-fetched/verified before branching:
3c6609176ed0741fc0517bafc229d01ae3213ffb. Exact HEAD:f6242c6e9001b5ab702b8ced5454446e779206df.Changed:
src/creatidy_kernel/adapters/task_execution.py,tests/test_task_166.py,README.md.Acceptance evidence: closed typed per-task structural seam, unchanged #143 constructor/payload/digest and regression behavior; #166 single allowed path and exact SafeTermination/module/module-repeats-8/
make checkplan; 48 synthetic tests for baseline/candidate anti-weakening, exact Git subjects and read-only preflight. Controller authority and execution/recovery mechanisms are unchanged; no DSL or programmable validation language.Checks:
uv run --locked pytest tests/test_task_166.py tests/test_task_execution.py tests/test_task_preflight.py tests/test_cli.py: 168 passed.uv run --locked pytest tests/test_task_166.pyafter scanner remediation: 48 passed.make check: passed fully, including 917 tests, basedpyright, boundaries and secrets.make package-check: passed.git diff --cached --checkand committedgit diff --check origin/develop...HEADpassed; working tree clean.make auditnot applicable: dependencies, lockfile and tooling unchanged. Public SHA scanner false positives were resolved narrowly without changing scanner configuration.Review remains pending; #42 remains open until integration. Remaining semantic boundary: a future #166 candidate's forced-interleaving proof of the unsafe baseline/corrected descriptor ownership requires independent review, not structural self-attestation.
#166 itself was NOT executed. No provider inference, live target preflight, Scarcity Router branch/PR/candidate push, merge or deploy. Fresh zero-inference preflight and separate owner execution authorization remain required after owner integration.