Commit Graph
60 Commits
Author SHA1 Message Date
Nick eadb65a6dc chore: census milestone sync
Auto-version and Release / release (push) Successful in 12s
CI Pipeline / documentation (push) Successful in 7s
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / rust-surface (push) Failing after 12s
CI Pipeline / gitea-offline (push) Successful in 20s
CI Pipeline / lint (push) Failing after 51s
CI Pipeline / type-check (push) Failing after 47s
CI Pipeline / canary (push) Failing after 2m31s
CI Pipeline / go-surface (push) Successful in 3m8s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
deploy / deploy (push) Canceled after 3m15s
CI Pipeline / unit-tests (push) Canceled after 3m31s
2026-10-10 22:01:46 +01:00
Nick b7501b9804 feat(B3-v3): clean immutable baseline — #165 SimpleMem/A-MEM/Letta through full fixed-depth pipeline
CI Pipeline / lint (push) Failing after 34s
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / canary (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 17s
CI Pipeline / unit-tests (push) Successful in 1m0s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / required-checks (push) Successful in 2s
ADAPT-1 CLOSED. B3-v3 clean baseline on frozen SHA 5a1ad11/v0.64.0.
Zero pipeline modifications during run. Zero manual artifact edits.

Chain: ISSUE(0.16s) → INWARD(0.34s) → OUTWARD(1106s, 12 sources/8 read) →
APPLICABILITY(970s, 10 candidates, INNOVATION_WARRANTED) →
INNOVATION(386s, BUILD, 5 candidates) → ADVERSARIAL(809s after TIMEOUT
retry, 21 attacks, 5 survivors, SURVIVES_WITH_MITIGATIONS) →
SYNTHESIS(444s) → QUALIFY(REFINE_SYNTHESIS ×2 → PROCEED 13/13).

Total wall ~4897s (~82 min) across 12 stage executions.
First-attempt pass: ISSUE, INWARD, APPLICABILITY, INNOVATION, SYNTHESIS v1.
Native retries: OUTWARD (schema-variant normalization), ADVERSARIAL
(stuck process → retry succeeded), SYNTHESIS (2 REFINE_SYNTHESIS loops).

Also fixes OUTWARD artifact resolution: the file-channel path now uses
_resolve_worker_artifact (shared helper) instead of a bespoke check,
so prose-stdout + valid file works correctly (the #165 GATE_RETRY pattern).

1179+ tests pass (baseline suite unchanged).
2026-09-10 06:36:07 +01:00
conductor 11df1983f4 research-165-r1: QualifyArtifact — PROCEED (13/13 checks)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / lint (push) Successful in 35s
CI Pipeline / documentation (push) Successful in 6s
CI Pipeline / gitea-offline (push) Successful in 20s
CI Pipeline / type-check (push) Successful in 36s
CI Pipeline / canary (push) Successful in 1m14s
CI Pipeline / unit-tests (push) Successful in 1m44s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-10 06:33:57 +01:00
conductor ade5d862eb research-165-r1: SynthesisArtifact (10 steps, 18 invariants, 24 tests)
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / lint (push) Successful in 37s
CI Pipeline / canary (push) Successful in 34s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / unit-tests (push) Successful in 54s
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-10 06:33:53 +01:00
conductor f98858b5fe research-165-r1: AdversarialArtifact (21 attacks, 5 survivors, SURVIVES_WITH_MITIGATIONS)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / lint (push) Successful in 37s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / unit-tests (push) Successful in 53s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-10 06:33:48 +01:00
conductor 849a75f079 research-165-r1: InnovationArtifact (BUILD, 5 candidates)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / lint (push) Successful in 39s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Successful in 53s
CI Pipeline / type-check (push) Successful in 31s
CI Pipeline / required-checks (push) Successful in 2s
2026-09-10 06:33:44 +01:00
conductor 1d4662a1c7 research-165-r1: ApplicabilityArtifact (10 candidates, INNOVATION_WARRANTED)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / lint (push) Successful in 38s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / unit-tests (push) Successful in 53s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / type-check (push) Successful in 42s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-10 06:33:40 +01:00
conductor fe25aa3ccc research-165-r1: OutwardArtifact (12 sources, 8 read)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / lint (push) Successful in 37s
CI Pipeline / canary (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / type-check (push) Successful in 32s
CI Pipeline / unit-tests (push) Successful in 58s
CI Pipeline / required-checks (push) Successful in 2s
2026-09-10 06:33:36 +01:00
conductor 2b323e7a44 research-165-r1: QUALIFY PROCEED — pipeline COMPLETE (clean B3-v3 baseline, frozen SHA 5a1ad11/v0.64.0)
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / documentation (push) Successful in 7s
CI Pipeline / lint (push) Successful in 39s
CI Pipeline / canary (push) Successful in 40s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / unit-tests (push) Successful in 1m6s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-10 06:33:33 +01:00
Nick deba21fe54 feat(TASK-I): PL0 passive Experience Ledger — 10 seed Process Experiences from real runs
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 3s
CI Pipeline / best-practices (push) Successful in 6s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / canary (push) Successful in 35s
CI Pipeline / lint (push) Successful in 42s
CI Pipeline / type-check (push) Successful in 31s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Successful in 1m0s
CI Pipeline / best-practices (pull_request) Successful in 4s
CI Pipeline / documentation (pull_request) Successful in 4s
CI Pipeline / lint (pull_request) Successful in 37s
CI Pipeline / canary (pull_request) Successful in 31s
Spec gate (headless) / spec-gate (pull_request) Successful in 7s
CI Pipeline / type-check (pull_request) Successful in 31s
CI Pipeline / unit-tests (pull_request) Successful in 53s
CI Pipeline / gitea-offline (pull_request) Successful in 16s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / required-checks (pull_request) Successful in 1s
Auto-version and Release / release (pull_request) Successful in 38s
scripts/process_experience.py: ExperienceLedger with 12 root-cause layers,
3 result types, confidence tracking, evidence references, correction
tracking, recurrence classification, cost measurement, reusable flag.

10 seed Process Experiences from real runs (#161/#163/#164/#310/#311):
- 5 failures (schema drift, field naming, missing disposition, validator
  mismatch, duplicate contract authority)
- 3 successes (gate blocked missing M1, INNOVATION correctly skipped,
  real external evidence produced decision-changing results)
- 2 inefficiencies (routing waste, detection gap)

All 10 marked reusable_lesson=True. No autonomous self-editing —
observation and evidence capture only.
2026-09-10 02:22:49 +01:00
Nick 203e6ed41d fix(RESEARCH): schema-variant normalization + disposition prompt + multi-dimension matching + URL check narrowing
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 4s
CI Pipeline / best-practices (pull_request) Successful in 5s
CI Pipeline / documentation (pull_request) Successful in 4s
CI Pipeline / canary (pull_request) Successful in 33s
CI Pipeline / lint (pull_request) Successful in 39s
CI Pipeline / type-check (pull_request) Successful in 31s
Spec gate (headless) / spec-gate (pull_request) Successful in 8s
CI Pipeline / gitea-offline (pull_request) Successful in 16s
CI Pipeline / unit-tests (pull_request) Successful in 57s
CI Pipeline / required-checks (pull_request) Successful in 1s
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / lint (push) Failing after 38s
CI Pipeline / canary (push) Failing after 45s
CI Pipeline / type-check (push) Successful in 37s
CI Pipeline / unit-tests (push) Failing after 1m12s
CI Pipeline / required-checks (push) Successful in 3s
Findings from B3-v2 fresh Route-C run on #164 (real research task):

1. Schema-variant normalization: the worker emitted search_receipts/
   read_receipts/sources/evidence_claims at top level instead of
   discovery/reading subsections. _normalize_outward_artifact now maps
   documented variants to the canonical structure (a documented mapping,
   not a rescue — the worker DID produce the data). Also maps worker
   'urls' (list) → 'url' and 'classification' → 'source_class'.

2. ADVERSARIAL prompt now demands the disposition field explicitly
   (the template predated the disposition contract — the worker omitted it).

3. Adversarial gate: multi-dimension matching — an attack with
   'duplicate_authority / Rune constraint violations' addresses BOTH
   dimensions. Removed the break-after-first-match.

4. OUTWARD URL check narrowed: sources with no URL are legitimately
   discovered-but-not-fetched (the receipt check handles READ status).

5. SYNTHESIS gate caught a real design gap on #164: mitigation M1
   (decide the integration surface FIRST) was not represented —
   the gate refusing is the system working. B3-v2 paused for synthesis v2.

Real acceptance on #164: OUTWARD 13 sources/6 read (415s),
APPLICABILITY 7 candidates/STANDARD_SOLUTION_SUFFICIENT (369s),
ADVERSARIAL 10 attacks/SURVIVES_WITH_MITIGATIONS (reconciled),
SYNTHESIS gate correctly blocked. All artifacts on Gitea master.

1168 tests pass; ruff clean.
2026-09-10 01:20:57 +01:00
Nick a997a0ae4c feat(D4+D5): executor-owned artifact targets + cognitive-stage mutation boundary (closes #298 scope)
CI Pipeline / best-practices (push) Successful in 6s
CI Pipeline / documentation (push) Successful in 3s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 3s
CI Pipeline / canary (push) Successful in 34s
CI Pipeline / lint (push) Successful in 42s
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / unit-tests (push) Successful in 58s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / best-practices (pull_request) Successful in 3s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / lint (pull_request) Successful in 38s
CI Pipeline / canary (pull_request) Successful in 31s
Spec gate (headless) / spec-gate (pull_request) Successful in 6s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / type-check (pull_request) Successful in 30s
CI Pipeline / unit-tests (pull_request) Successful in 53s
CI Pipeline / gitea-offline (pull_request) Successful in 15s
CI Pipeline / required-checks (pull_request) Successful in 1s
Auto-version and Release / release (pull_request) Successful in 37s
D4 — ARTIFACT TARGET CONTRACT IS EXECUTOR-OWNED:
- _declared_artifact_path(stage): absolute path computed from artifact_dir +
  STAGE_ARTIFACT_FILES[stage]; injected verbatim into every worker prompt
  (APPLICABILITY/ADVERSARIAL/SYNTHESIS/INNOVATION/OUTWARD/QUALIFY)
- Worker never derives its own path — producer and consumer share one
  authoritative output location (the B3-v2 root cause: worker's prompt said
  research/issue-162/ but executor's artifact_dir was research/issue-162-b3v2/)
- Acceptance: nonstandard artifact_dir (issue-162-b3v2) now gets the correct
  path injected

D5 — COGNITIVE_STAGE_MUTATION_BOUNDARY:
- mutation_boundary.py: capture_worktree_state (status porcelain + HEAD)
  before cognitive stages; verify_no_source_mutation after; new changes
  outside declared artifact paths → UNAUTHORIZED_STAGE_MUTATION
- HEAD movement detected (cognitive stages must never commit)
- allowed paths: declared artifact + telemetry + consumed markers
- Wired into execute(): cognitive stages only (ISSUE/IMPLEMENT skip);
  failure → STAGE_FAILED, no advancement
- Tests: clean stage passes; source mutation detected → FAILED + no
  advancement + mutation visible for human review

BLE001 narrowed in mutation_boundary (git errors are OSErrors).

1164 tests pass; ruff clean.
2026-09-09 23:57:59 +01:00
Nick f5ee557ee3 fix(CORRECTION-1/2): D2 producer contract + sentinel-tolerant reader; D3 telemetry wired into production path
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 3s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 3s
CI Pipeline / canary (push) Successful in 35s
CI Pipeline / lint (push) Successful in 40s
CI Pipeline / type-check (push) Successful in 31s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Successful in 59s
CI Pipeline / best-practices (pull_request) Successful in 3s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / lint (pull_request) Successful in 36s
CI Pipeline / canary (pull_request) Successful in 31s
Spec gate (headless) / spec-gate (pull_request) Successful in 6s
CI Pipeline / gitea-offline (pull_request) Successful in 15s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / unit-tests (pull_request) Successful in 52s
CI Pipeline / type-check (pull_request) Successful in 30s
CI Pipeline / required-checks (pull_request) Successful in 0s
Auto-version and Release / release (pull_request) Successful in 47s
ADAPT-1 baseline corrections (per handoff: fix D2+D3, record D1 as
FIXED_DEPTH_ROUTE_INAPPLICABLE — no OUTWARD semantics change).

CORRECTION-1 (D2): producer contract enforced
- Worker prompts updated: artifact file must contain exactly one JSON
  document; StageCompleted markers go to stdout ONLY
- _load_worker_artifact_file(): canonical reader requires pure JSON;
  LEGACY_COMPATIBILITY_ONLY permits exactly the known 'StageCompleted:
  <STAGE>' trailing sentinel (regex-anchored, no arbitrary salvage);
  corrupt JSON is never masked
- Acceptance: pure JSON OK; exact sentinel OK; arbitrary trailing text
  rejected; corrupt JSON rejected; all 6 stage prompts carry the contract

CORRECTION-2 (D3): StageAttempt telemetry wired into real production path
- research_event_relay: marks tool windows on tool running/completed/error/
  failed events (observational, never changes classification)
- StageExecutor._run_relay_with_telemetry: marks model windows around
  relay.run(); attempt threaded through _execute_stage into all 8 stage
  methods (telemetry_attempt kwarg, default None)
- PROVEN on a real production-path execution: ADVERSARIAL record shows
  wall=0.3006, model_time=0.3001 (1 window), tool_time=0.3001 (1 window) —
  overlapping by design, non-additive model respected
- telemetry failures never raise into the stage path (observational)

D1 NOT a code correction: recorded as
FIXED_DEPTH_ROUTE_INAPPLICABLE_TO_LOCAL_EVIDENCE_TASKS —
EXPECTED_ROUTING_LIMITATION / ADAPTIVE_REQUIREMENT. OUTWARD external-
evidence semantics preserved unchanged.

1163 tests pass (was 1158); ruff clean.
2026-09-09 22:18:50 +01:00
Nick 6c85b8066c feat(RP12): post-cleanup real-progression re-run on #163 + pipeline fixes proven live
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 6s
CI Pipeline / best-practices (pull_request) Successful in 7s
Spec gate (headless) / spec-gate (pull_request) Successful in 8s
CI Pipeline / gitea-offline (pull_request) Successful in 15s
CI Pipeline / lint (pull_request) Successful in 35s
CI Pipeline / type-check (pull_request) Successful in 28s
CI Pipeline / canary (pull_request) Successful in 35s
CI Pipeline / unit-tests (pull_request) Successful in 51s
CI Pipeline / required-checks (pull_request) Successful in 1s
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / lint (push) Failing after 41s
CI Pipeline / canary (push) Failing after 37s
CI Pipeline / type-check (push) Successful in 35s
CI Pipeline / unit-tests (push) Failing after 1m11s
CI Pipeline / required-checks (push) Successful in 7s
RP12/#275 — real issue #163 (temporal graph backend spike) through the FULL
canonical path on post-RP11 code:
ISSUE ✓ → INWARD ✓ → OUTWARD ✓ (45 sources, 10 read w/ receipts, 34 tool
calls) → APPLICABILITY ✓ (10 candidates, route INNOVATION_WARRANTED — first
live exercise of the conditional route) → INNOVATION ✓ (conclusion ADAPT,
1 candidate with kill_test — NOT manufactured novelty) → ADVERSARIAL ✓
(13 attacks; honest finding: graph tier is NOT bi-temporal as claimed —
survivors carry per-candidate dispositions; disposition
SURVIVES_WITH_MITIGATIONS) → SYNTHESIS ✓ → QUALIFY REFINE_SYNTHESIS (3
concrete interface gaps — narrowed semantics working) → SYNTHESIS v2 ✓
(refine findings addressed) → QUALIFY v2 PROCEED ✓ (13/13 checks).
Pipeline COMPLETE, artifacts persisted to Gitea master.

Fixes proven live during the run:
- OUTWARD prose-stdout file-channel fallback (RP4 fix backported; first
  exercise on this path)
- INNOVATION executor + gate built (RP5/#268 — first run needing it;
  conclusion enum enforced, derived_from/kill_test required, NO_INNOVATION_
  WARRANTED valid)
- adversarial prompt now demands the disposition enum (pre-correction
  template gap)
- adversarial normalizer carries disposition through
- synthesis prompt carries QUALIFY refine findings as round-2 constraints
- readiness invariant correctly blocked misplaced blocking-unknowns (caught
  my own error — semantics verified live)

Also: retired-workflow references removed from test fixture; no retired
code on tree (verified: 0 run_full_research/--watch references).

1130 tests pass; ruff clean.
2026-09-09 13:30:23 +01:00
Nick 25afdc7024 merge: canonical Research-to-Build pipeline (rp2-canonical-stage-model) into master
RP11/#274 step 1 — consolidate to ONE canonical authority. The RSC0-9
research scripts on master (DEFINE/OUTWARD_DISCOVERY/OUTWARD_READING stage
model) are superseded by the canonical pipeline proven through RP2-RP10
(epic #257, children #264-#273): ISSUE→INWARD→OUTWARD→APPLICABILITY→
conditional INNOVATION→ADVERSARIAL(disposition)→SYNTHESIS→QUALIFY.

Zero conflicts vs current master; the #161 harness (PR #279) is preserved.
2026-09-09 11:14:49 +01:00
conductor c7a9a9163a research-161-r1: QualifyArtifact — PROCEED verdict with source-verified findings
CI Pipeline / lint (push) Failing after 23s
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / canary (push) Successful in 30s
CI Pipeline / unit-tests (push) Failing after 44s
CI Pipeline / documentation (push) Successful in 13s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-09 01:31:36 +01:00
conductor d60f02e10a research-161-r1: QUALIFY PROCEED — 13/13 readiness checks, pipeline COMPLETE (canonical RP8). Synthesis e584bbf895b3 ready for literal MiMo Code handoff.
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / unit-tests (push) Failing after 56s
CI Pipeline / lint (push) Failing after 25s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-09 01:31:35 +01:00
conductor 39b48c9099 research-161-r1: SynthesisArtifact — retrieval-quality benchmark harness build instructions (hash e584bbf895b3)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / lint (push) Failing after 23s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / canary (push) Successful in 33s
CI Pipeline / unit-tests (push) Failing after 44s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / required-checks (push) Successful in 2s
2026-09-09 01:22:11 +01:00
conductor ecc7039d84 research-161-r1: SYNTHESIS gate PASSED (harness design, 11 steps, 13 invariants, 10 mitigations carried) — tree at QUALIFY (canonical RP7)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / lint (push) Failing after 26s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Failing after 50s
CI Pipeline / required-checks (push) Successful in 2s
2026-09-09 01:22:10 +01:00
conductor 2baafd6681 research-161-r1: AdversarialArtifact (16 attacks incl. embed-availability + cache-pollution findings, 2 falsification kill-tests, targeted arXiv verification)
CI Pipeline / lint (push) Failing after 24s
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / unit-tests (push) Failing after 45s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-09 00:46:52 +01:00
conductor c46680be9d research-161-r1: ADVERSARIAL gate PASSED (16 attacks, 6 survivors, 1 rejected on duplicate-authority) — tree at SYNTHESIS (canonical RP6)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 25s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Failing after 51s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-09 00:46:51 +01:00
conductor 2c2df6d3a5 research-161-r1: ApplicabilityArtifact (9 classified candidates, repo-verified integration points)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / lint (push) Failing after 23s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / canary (push) Successful in 28s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Failing after 43s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / required-checks (push) Successful in 2s
2026-09-09 00:30:43 +01:00
conductor 5577505ccb research-161-r1: APPLICABILITY gate PASSED (9 candidates, route STANDARD_SOLUTION_SUFFICIENT) — tree at ADVERSARIAL (canonical RP4)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 27s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Failing after 51s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-09 00:30:41 +01:00
conductor 9989d6e7fd research-161-r1: task tree after OUTWARD
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / lint (push) Failing after 25s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Failing after 46s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-09 00:16:27 +01:00
conductor 9dc21e1a0a research-161-r1: OutwardArtifact
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / lint (push) Failing after 26s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Failing after 53s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-09 00:16:15 +01:00
conductor 2af31ce492 research: persist tree after OUTWARD (issue #263, round 1)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / lint (push) Failing after 24s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Failing after 50s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 23:18:50 +01:00
conductor b2092ae819 research: persist tree after INWARD (issue #263, round 1)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 28s
CI Pipeline / canary (push) Successful in 37s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Failing after 56s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 23:18:49 +01:00
Nick 9d1e0da8e5 feat(research): OR1 — unify OUTWARD_DISCOVERY+OUTWARD_READING into OUTWARD
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / lint (push) Failing after 43s
CI Pipeline / canary (push) Failing after 40s
CI Pipeline / type-check (push) Successful in 37s
CI Pipeline / unit-tests (push) Failing after 1m11s
CI Pipeline / required-checks (push) Successful in 2s
One coherent MiMo external-research pass. Discovery and reading remain
visible as subsections inside the artifact, not separate top-level stages.
Artifact has discovery and reading subsections. Event relay streams both.
2026-09-08 23:17:51 +01:00
conductor 651715fd80 research: persist tree after ADVERSARIAL (issue #262, round 1)
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / canary (push) Successful in 34s
CI Pipeline / lint (push) Failing after 35s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Failing after 52s
CI Pipeline / required-checks (push) Successful in 0s
2026-09-08 23:09:48 +01:00
conductor d623559c77 research: persist tree after OUTWARD_READING (issue #262, round 1)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 26s
CI Pipeline / canary (push) Successful in 33s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Failing after 53s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 22:40:22 +01:00
conductor aa2bc29e67 research: persist tree after OUTWARD_DISCOVERY (issue #262, round 1)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / lint (push) Failing after 27s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Failing after 49s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 22:35:45 +01:00
conductor bbb4af2feb research: persist tree after OUTWARD_DISCOVERY (issue #256, round 1)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 24s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / unit-tests (push) Failing after 44s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 22:32:46 +01:00
conductor a77d3cad08 research: persist tree after OUTWARD_DISCOVERY (issue #261, round 1)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 24s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / unit-tests (push) Failing after 50s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 22:32:45 +01:00
conductor aba9802247 research: persist tree after OUTWARD_DISCOVERY (issue #256, round 1)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 25s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / unit-tests (push) Failing after 45s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 22:32:37 +01:00
conductor a046472db6 research: persist tree after OUTWARD_DISCOVERY (issue #260, round 1)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 24s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / unit-tests (push) Failing after 45s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 22:32:34 +01:00
conductor c5db9a3923 research: persist tree after OUTWARD_DISCOVERY (issue #262, round 1)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / lint (push) Failing after 24s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / canary (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / unit-tests (push) Failing after 49s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 22:32:29 +01:00
conductor 04b733b645 research: persist tree after OUTWARD_DISCOVERY (issue #260, round 1)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 26s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / unit-tests (push) Failing after 51s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 22:32:27 +01:00
Nick d5687057ab chore(research): record local backend execution evidence (DEFINE+INWARD completed, tree on master) 2026-09-08 21:32:57 +01:00
Nick 5a9825fa7f fix(research): DEFINE and INWARD use deterministic paths — MiMo only for bounded semantic inspection 2026-09-08 21:23:40 +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
conductor 56c0074b96 docs(research): file 4-phase research round for #245 (headless stage)
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / best-practices (pull_request) Successful in 3s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / canary (pull_request) Successful in 28s
CI Pipeline / lint (pull_request) Successful in 31s
CI Pipeline / type-check (pull_request) Successful in 25s
Spec gate (headless) / spec-gate (pull_request) Successful in 5s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
CI Pipeline / unit-tests (pull_request) Successful in 49s
CI Pipeline / required-checks (pull_request) Successful in 1s
Auto-version and Release / release (pull_request) Successful in 39s
2026-09-08 09:11:42 +01:00
conductor f6beca546a docs(research): file 4-phase research round for #245 (headless stage)
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / canary (pull_request) Successful in 27s
CI Pipeline / lint (pull_request) Successful in 32s
Spec gate (headless) / spec-gate (pull_request) Successful in 5s
CI Pipeline / type-check (pull_request) Successful in 25s
CI Pipeline / gitea-offline (pull_request) Successful in 14s
CI Pipeline / unit-tests (pull_request) Successful in 44s
CI Pipeline / required-checks (pull_request) Successful in 1s
Auto-version and Release / release (pull_request) Successful in 42s
2026-09-08 08:31:50 +01:00
Nick 2a9ddbbf6b feat(v1): establish runtime authority map
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 20s
CI Pipeline / unit-tests (pull_request) Successful in 33s
CI Pipeline / canary (pull_request) Successful in 4s
CI Pipeline / best-practices (pull_request) Successful in 4s
CI Pipeline / documentation (pull_request) Successful in 5s
CI Pipeline / required-checks (pull_request) Successful in 2s
Auto-version and Release / release (pull_request) Successful in 4s
2026-08-29 02:14:47 +01:00
Nick f12d60c217 feat(tui): add governed local tool objects
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 21s
CI Pipeline / unit-tests (pull_request) Successful in 51s
CI Pipeline / canary (pull_request) Successful in 4s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / required-checks (pull_request) Successful in 0s
Auto-version and Release / release (pull_request) Successful in 5s
2026-08-28 11:26:04 +01:00
Nick 9997dac413 Build mode research: auto-detection, pipeline improvements, contextual awareness
Three parallel research agents completed:

1. Auto-detection (NOVEL — no existing tool does this):
   - Simple keyword scoring algorithm (0-3 task, 4-7 task+plan, 8+ build)
   - Signal categories: request analysis, codebase impact, historical patterns, risk
   - Zero cost for 90% of requests (regex), LLM fallback for 10% ambiguous
   - UX: auto-switch high confidence, suggest medium, stay low

2. Pipeline improvements (from Devin, SWE-agent, Aider, Cursor):
   - File-level isolation (worktrees per batch)
   - Inline verification after every edit (not just batch boundaries)
   - Contract testing between batches (highest-value verification)
   - Selective rollback + failure-aware re-planning after 2 failures
   - Three-phase execution: Foundation → Implementation → Integration
   - Trajectory recording for learning
   - Dynamic batch sizing (1-3 files default, 80%+ success rate)

3. Contextual awareness:
   - Hybrid keyword+LLM classification
   - Mode transitions mid-task (upgrade/downgrade with confirmation)
   - Context signals: codebase, request, conversation, user preferences
   - Progressive disclosure: start light, escalate if complex

Key research insights:
- Agent reliability: 96% → 34% from 8K to 128K tokens (LOCA-bench, ICML 2026)
- 56.2% of agent turns are exploration, not execution (FastContext, 2026)
- Single-file changes: ~80% success vs <50% for 4-6 files (SWE-bench)
- Keep detection simple — gauntlet's complexity was its downfall

Pinned findings updated at research/build-mode/PINNED-FINDINGS.md
2026-08-23 15:28:00 +01:00
Nick a26f82b174 Build mode: worktree isolation, ledger, batch sentinels (v0.51.0)
Build mode orchestrator (build_mode.py):
- Full pipeline: ASSESS → RESEARCH → FEASIBLE → CONSULT → CONSENT → PLAN → BUILD → VERIFY → CORRECT → INTEGRATE → RECORD
- Worktree isolation: every build creates a worktree for reversibility
- Ledger checklist: tracks progress at each step for resumability
- Batch sentinels: per-batch verification (not full canary)
- Scope guardian: full verification after all batches pass
- Recursive retry: 3 attempts max per batch
- Resume from last completed phase if credits run out

TUI commands:
- /build start <description> — start new build
- /build status — list all builds
- /build resume <id> — resume build from last phase
- /build abort <id> — abort build, delete worktree
- /build ledger <id> — show build ledger

Pinned findings at research/build-mode/PINNED-FINDINGS.md

92/92 canary passing
2026-08-23 15:16:45 +01:00
Nick b2be0a4d66 Safety noise filter for thinking blocks (v0.45.0)
Added _filter_safety_noise() to strip safety-related noise from thinking blocks:
- 22 patterns covering: AI self-identification, refusal language, safety policy
  references, ethical hedging, responsibility deflection, apology patterns
- Case-insensitive matching
- Keeps actual reasoning, removes safety noise
- Consecutive blank lines collapsed

Use case: abliterated models (0% refusal) still have safety concepts in their
training data. The model answers, but its thinking may reference safety. This
filter strips the safety noise from the thinking blocks, showing only the
actual reasoning in the collapsible ThinkingBubble.

92/92 canary passing
2026-08-23 02:51:56 +01:00
Nick 0bd8f02eec Tool calling: file read/write/list/search/command for LLM agents (v0.44.0)
tool_executor.py — new module:
- 5 tools: read_file, write_file, list_directory, search_files, run_command
- Sandbox: paths resolved + validated against allowed directories
- Blocked dirs: ~/.ssh, ~/.gnupg, /etc, /var, /proc, /sys
- Atomic writes: temp file → os.replace with .bak backup
- Undo stack: last 50 writes reversible
- Diff preview: unified diff before any write
- Tool call parsing: extracts JSON tool calls from model response
- Agent loop: model → tool → result → model continues

Operator integration:
- Tool definitions added to prompt (JSON schema format)
- Tool calls detected in response and executed
- Results fed back to model for continuation
- Write operations return diff for confirmation

TUI integration:
- Diff preview shown as confirm message (gold/amber style)
- Auto-confirm for now (TODO: user confirmation dialog)

Research basis:
- Structured outputs (JSON mode) over native tool calling
- Grammar-constrained decoding for reliable tool calls
- Sandbox + diff + undo for safe file operations
- ReAct pattern: model → action → observation → continue

92/92 canary passing
2026-08-23 02:13:13 +01:00
Nick f1fa2400cc Fix ruff + pyright issues + batch processing research (v0.42.1)
Ruff auto-fix (688 issues fixed):
- 66 unused imports removed
- 43 unsorted imports fixed
- 36 deprecated type annotations modernized
- 24 whitespace issues cleaned
- 156 other auto-fixable issues

Critical bugs fixed:
- rune_operator.py: model_context used before defined (reordered)
- rune_tui.py: sleep_time not imported (added import)
- warm_router.py: _load_state undefined (renamed to load_state)

Remaining: 258 ruff issues (style nags), 70 pyright errors (type mismatches)

Batch processing research:
- Optimal batch: 5-15 issues, 1-3 files per LLM session
- Group by issue type (not file) for pattern consistency
- Context window effective capacity: 25-50% of stated max
- Always verify after each batch

54 files changed, 1039 insertions, 763 deletions
2026-08-23 01:34:07 +01:00
Nick 216dea94d3 Add ruff + pyright quality tools (v0.42.0)
ruff (fast linter):
- Configured in pyproject.toml with focused rules: F, E, W, B, SIM, RUF
- Ignores style nags (E501, SIM103, SIM115) and Textual patterns (B008, RUF012)
- Auto-fixable rules enabled
- Current: 953 issues (347 auto-fixable)

pyright (static type checker):
- Configured in pyrightconfig.json with standard mode
- Suppresses noisy optional-member-access warnings
- Catches real bugs: undefined variables, type mismatches, missing attributes
- Current: 70 errors, 237 warnings

Key findings from first run:
- 66 unused imports (F401) — auto-fixable
- 5 undefined names (F821) — actual bugs
- 70 type errors from pyright — None passed where str expected
- 2 undefined variables in warm_router.py

Research: /research/quality-tools/findings.md
65/65 canary passing
2026-08-23 01:26:50 +01:00