D1-05: Add bounded Scarcity Router #166 TaskSpec (#42) #43

Merged
adrian.tkacz merged 1 commit from issue-42-bounded-task-166 into develop 2026-10-03 22:56:03 +00:00
Member

Scope

Implements Kernel #42, support/registration only for Scarcity Router #166.

  • Fetched and verified canonical origin/develop at 3c6609176ed0741fc0517bafc229d01ae3213ffb before branching.
  • Exact head: f6242c6e9001b5ab702b8ced5454446e779206df.
  • Changed files: src/creatidy_kernel/adapters/task_execution.py, tests/test_task_166.py, README.md.

Acceptance Evidence

  • _baseline() retains shared exact-base file/type/size, required-content and closed verification-command checks, delegating only task-specific structure to StructuralPolicy.validate_baseline() via the closed typed TaskStructure enum. No callbacks, workflow DSL or programmable validation expressions.
  • #143's constructor, cancellation baseline, candidate constraints and serialized payload/digest remain intact. A pre-change golden digest regression and all existing execution/recovery/preflight tests pass. Controller policy, approval, operation identities, candidate collection, execution/recovery and delivery mechanisms are unchanged.
  • #166 binds forge_issue=166, develop, one attempt and only tests/test_openai_codex_acquisition.py. Its controller-owned plan is SafeTermination once, module once, module with repeats=8, and make check, using existing bounded repeat semantics. Optional base pins retain existing admission/recovery semantics; the observed selection SHA is historical evidence, not an implicit execution pin.
  • Fixed #166 structural checks preserve real pipe/non-blocking feeder/thread shape, baseline timed-join assumptions, existing test identities/assertion expressions and stderr checks. Candidate negatives cover inert/comment-only fixtures, removed assertions/scenarios, missing/inert regression coverage, skip/xfail/expectedFailure, swallowed-failure patterns, new/changed sleeps and literal feeder-join timeout increases. Existing polling sleep is preserved rather than rejected solely for reindentation.
  • 48 new synthetic support tests include read-only preflight with guarded model-turn, verification, store-write and Forge-write seams. Source fixtures are authored locally and parsed, not executed as the real task.

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.py after scanner remediation: 48 passed.
  • make check: passed completely; 917 tests, locked tooling, formatting, Ruff, basedpyright, import boundaries, secret scan and diff whitespace.
  • make package-check: passed; wheel/sdist rebuild, isolated install and installed CLI replay/export.
  • Complete staged diff reviewed; git diff --cached --check and git diff --check origin/develop...HEAD passed. Working tree clean after commit/push.
  • make audit not applicable: no dependency, lockfile or tooling changes. Initial secret-scan false positives on public SHA literals were resolved with a synthetic pin and a narrowly annotated public #143 digest golden value; scanner configuration was not changed.

Authority And Review

#166 itself was NOT executed. No provider inference, live #166 preflight, Scarcity Router branch/PR/candidate push, merge or deploy occurred. Only the Kernel feature branch and this PR were created.

Independent review remains pending. Structural checks are a deterministic subset, not proof of race correctness: a future #166 candidate must provide deterministic forced-interleaving evidence proving the unsafe baseline and corrected descriptor ownership, and that evidence requires independent semantic review. After owner integration of this support change, a fresh zero-inference preflight and separate owner execution authorization remain prerequisites. Keep #42 open until integration into develop.

## Scope Implements [Kernel #42](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/issues/42), support/registration only for [Scarcity Router #166](https://forgejo.creatidy.com/BioMedical-IT/scarcity-router/issues/166). - Fetched and verified canonical `origin/develop` at `3c6609176ed0741fc0517bafc229d01ae3213ffb` before branching. - Exact head: `f6242c6e9001b5ab702b8ced5454446e779206df`. - Changed files: `src/creatidy_kernel/adapters/task_execution.py`, `tests/test_task_166.py`, `README.md`. ## Acceptance Evidence - `_baseline()` retains shared exact-base file/type/size, required-content and closed verification-command checks, delegating only task-specific structure to `StructuralPolicy.validate_baseline()` via the closed typed `TaskStructure` enum. No callbacks, workflow DSL or programmable validation expressions. - #143's constructor, cancellation baseline, candidate constraints and serialized payload/digest remain intact. A pre-change golden digest regression and all existing execution/recovery/preflight tests pass. Controller policy, approval, operation identities, candidate collection, execution/recovery and delivery mechanisms are unchanged. - #166 binds `forge_issue=166`, `develop`, one attempt and only `tests/test_openai_codex_acquisition.py`. Its controller-owned plan is SafeTermination once, module once, module with `repeats=8`, and `make check`, using existing bounded repeat semantics. Optional base pins retain existing admission/recovery semantics; the observed selection SHA is historical evidence, not an implicit execution pin. - Fixed #166 structural checks preserve real pipe/non-blocking feeder/thread shape, baseline timed-join assumptions, existing test identities/assertion expressions and stderr checks. Candidate negatives cover inert/comment-only fixtures, removed assertions/scenarios, missing/inert regression coverage, skip/xfail/expectedFailure, swallowed-failure patterns, new/changed sleeps and literal feeder-join timeout increases. Existing polling sleep is preserved rather than rejected solely for reindentation. - 48 new synthetic support tests include read-only preflight with guarded model-turn, verification, store-write and Forge-write seams. Source fixtures are authored locally and parsed, not executed as the real task. ## 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.py` after scanner remediation: 48 passed. - `make check`: passed completely; 917 tests, locked tooling, formatting, Ruff, basedpyright, import boundaries, secret scan and diff whitespace. - `make package-check`: passed; wheel/sdist rebuild, isolated install and installed CLI replay/export. - Complete staged diff reviewed; `git diff --cached --check` and `git diff --check origin/develop...HEAD` passed. Working tree clean after commit/push. - `make audit` not applicable: no dependency, lockfile or tooling changes. Initial secret-scan false positives on public SHA literals were resolved with a synthetic pin and a narrowly annotated public #143 digest golden value; scanner configuration was not changed. ## Authority And Review #166 itself was NOT executed. No provider inference, live #166 preflight, Scarcity Router branch/PR/candidate push, merge or deploy occurred. Only the Kernel feature branch and this PR were created. Independent review remains pending. Structural checks are a deterministic subset, not proof of race correctness: a future #166 candidate must provide deterministic forced-interleaving evidence proving the unsafe baseline and corrected descriptor ownership, and that evidence requires independent semantic review. After owner integration of this support change, a fresh zero-inference preflight and separate owner execution authorization remain prerequisites. Keep #42 open until integration into `develop`.
feat: add bounded Scarcity Router 166 TaskSpec (D1-05, #42)
All checks were successful
ci / check (pull_request) Successful in 1m6s
f6242c6e90
adrian.tkacz deleted branch issue-42-bounded-task-166 2026-10-03 22:56:03 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Creatidy/creatidy-kernel!43
No description provided.