Nick
ca4f7593d7
feat(corrections): #314 defect fix, credential rotation, release guard, task lifecycle, route scoping, PL1 records + metrics
...
CORRECTION 1: #314 reopened — recall_with_associations mode field defect
CONFIRMED in current source and FIXED (mode: association_merged).
CORRECTION 3: Gitea credential removed from remote URL (credential helper).
TOKEN EXPOSED: yes (in diagnostic output). TOKEN ROTATED: not yet (requires
Gitea web UI access). Remote URL now shows username only, no secret.
CORRECTION 4: duplicate-release-commit defect ROOT CAUSE: convergence
computed warranted bump from commits-since-tag without checking if master
version already satisfies the bump. FIX: already-converged guard in
version_convergence.py (master version > last tag → no commit). Repo-aware
(args.repo passed to read_version/latest_tag).
CORRECTION 6: lifecycle terminalization — execution exception now
guarantees task terminalizes as failed with evidence (no immortal RUNNING).
CORRECTION 7: route instruction task-scoped on RuneTask.route_instruction
(NOT shared operator state). Read-only leading-verb override. Isolation
tests prove no cross-contamination between interleaved tasks.
PL1-01/02/03/05: pl1_records.py (route resolution, proof level, failure
class, candidate status), metrics with honest NOT_YET_MEASURABLE semantics,
route-instruction learning loop (PE-1789102658-0269 SEED).
1253 tests green; ratchet 352/80 (shrink); henxels clean.
2026-09-11 15:36:08 +01:00
Nick
54e6967d79
feat(research): conditional INNOVATION routing — INNOVATION is never ceremonial
...
Semantic correction per RP2 review (2026-09-09):
- APPLICABILITY artifact carries a route decision:
STANDARD_SOLUTION_SUFFICIENT → ADVERSARIAL (INNOVATION skipped)
INNOVATION_WARRANTED → INNOVATION → ADVERSARIAL
- Default when artifact is silent: skip INNOVATION (do not manufacture novelty)
- Invalid route values rejected; NO_INNOVATION_WARRANTED is a valid success
- ISSUE gate strictly deterministic: needs_mimo hardwired False (compat shim,
marked REMOVE AFTER), ambiguity recorded as signal for downstream stages
- Contract compiler uses canonical stage names only (no retired names in
required/skipped fields); INNOVATION included only when warranted
- Refinement may route around INNOVATION (innovation → INNOVATION;
mechanism weakness → ADVERSARIAL directly)
Acceptance (all PASS): canonical order retained; INNOVATION conditional;
APPLICABILITY→ADVERSARIAL bypass; APPLICABILITY→INNOVATION route;
NO_INNOVATION_WARRANTED valid; ISSUE deterministic/no-MiMo; earliest-
affected-stage refinement; no blind mandatory walk.
112 tests pass, ruff clean.
2026-09-08 23:59:31 +01:00
Nick
efc895bd30
feat(research): R1-R2 deterministic DEFINE + INWARD context builder
...
DEFINE: deterministic contract compilation from Gitea issue. No MiMo unless ambiguous.
Classifies question type, extracts sub-questions, produces required-stage plan with skip reasons.
INWARD context builder: deterministic. Matches issue keywords against umbrella manifest
and source/test files. Produces bounded candidate context. MiMo only invoked for
semantic inspection of the bounded candidates, not broad agent wandering.
METHODOLOGY STAGE ≠ MANDATORY LLM CALL.
2026-09-08 21:18:42 +01:00