feeece62eb8e0bb2ec8b32e3424ad9093feaedbb
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
bf5eb53d1e |
fix(lifecycle): research_required nonterminal disposition + recall A/B honesty + hook hardening
CI Pipeline / best-practices (push) Successful in 7s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / canary (push) Successful in 35s
CI Pipeline / lint (push) Successful in 43s
CI Pipeline / type-check (push) Successful in 32s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / unit-tests (push) Successful in 1m0s
CI Pipeline / required-checks (push) Successful in 1s
Pre-PL1 closure (handoff 2026-09-10): 1. research_required: new nonterminal task status (records enum, state machine edges created/running -> research_required -> running/ completed/failed/cancelled/superseded). The operator's RESEARCHED_CHANGE disposition now transitions to research_required instead of failed — research routing is not failure. Live canary: status=research_required, outcome_ref=research_dispatch, route_ref set. 2. Experience consumer skips research-dispatch tasks — no false failure-learning evidence in PL0 (verified: 0 FAILURE records for research tasks). 3. recall_uplift A/B documented honestly in the module: latency 521-1213ms → 14-18ms; terms bounded (893-1665 → 16-21); recall ROW COUNTS identical per query but 1/8-7/7 of recalled IDs differ (expansion terms differ → different lexical candidates). Marked PROVISIONAL — quality not proven equivalent; harness original retained for rollback. 4. Hook hardening: durable fire-trace (/tmp/rune-bridge-fire.log, one line per actual injection with token count) + harness-internal-step guard (checkpoint-writer/compaction steps no longer receive capsules). 5. QX7 canary fully purged: entries, contentless-FTS ghosts, both stores; retrieval-level verification shows zero hits. 1227 tests pass; ratchet 353/80; henxels clean. |
||
|
|
d59b8a1800 |
feat(core): Option C unified route authority + builder bridge + PL0 qualification
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / canary (push) Successful in 35s
CI Pipeline / lint (push) Failing after 44s
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / unit-tests (push) Successful in 59s
CI Pipeline / required-checks (push) Successful in 1s
Handoff 2026-09-10 §§2–10. One canonical implementation, not copied logic: 1. Route authority moved into Rune Core (src/rune/): adaptive_router.py, route_risk_flags.py (renamed — the old name collided with the research-stage concept), evidence_probe.py. Dependency direction enforced: executor imports Core; Core never imports the executor. Research executor consumes via rune.adaptive_router / rune.evidence_probe (dual-import guards for standalone script execution). 2. derive_sufficiency() in Core (unified grounding semantics): the research path passes contract-compiler fields; the operator path grounds from task-text absence-of-defeaters. NONE vs UNKNOWN fixed (no test surface = determined NONE, not unknown). 3. Live operator consumption: send_task routes every task via the same authority, persists INITIAL_ROUTE to ~/.rune/routes/route.jsonl, records task.route, and attaches an actionable research dispatch (executor-consumable payload) for RESEARCHED_CHANGE. Proven live: local task → STANDARD_CHANGE (research chain not entered); floor architecture task → RESEARCHED_CHANGE + dispatch recorded. The dispatch's downstream consumer is still the MiMo session (documented §11 gap, not solved here). 4. builder_bridge.py: thin adapter over Rune Core — preflight(task) runs derive_sufficiency → classify_route → (optional) memory selection. Zero model calls, bounded capsule (12 memory / 6 lesson lines). lesson_lines stays empty until PL1 promotes its first lesson — the seam exists, the pressure does not. 5. PL0 qualification: qualify_experience() (TELEMETRY vs CANDIDATE, cheap rule-based, no model). Live ledger: 132 raw → 54 candidates. Raw outcomes preserved verbatim; SEED never auto-VALIDATED. 6. Umbrella manifest updated (4 new modules → capability umbrella). Verification: 1213 tests pass; ruff clean; silent-handler ratchet at baseline (353/80). The audit's §1 qualification is honored: the earlier spine canary proved model routing, not task-class routing — task-class routing on the live spine is proven HERE. |
||
|
|
ec2cba62ee |
feat(reachability): Live Rune Slice P0 — outcome producer edge + spine defect fixes
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / canary (push) Successful in 40s
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / type-check (push) Successful in 32s
CI Pipeline / unit-tests (push) Successful in 1m7s
CI Pipeline / lint (push) Successful in 37s
CI Pipeline / required-checks (push) Successful in 1s
Runtime Reachability audit (reports/RUNTIME_REACHABILITY_AUDIT_2026-09-10.md, 4 parallel tracers + live canaries) established: ONE real end-to-end path exists (send_task → ContextBroker → Ollama tool loop → durable events), proven live by canary during the audit. The spine exists; the missing pieces were edges, not architecture. P0 implemented (choice-free items): 1. task.outcome producer edge: send_task emits a typed journal event on EVERY terminal transition (completed AND failed) with task/model/ verification/route fields — the producer PL0/PL1 needs (outcome_ledger was de-wired; experience ledger had zero producers). 2. Experience consumer: scripts/process_experience.py record_operator_outcomes() reads the authoritative task-state checkpoint (the journal is a one-way integrity journal — payload_hash only) and appends idempotent SEED experience records. 132 live records created; rerun = 0 (idempotent). 3. Spine defect: _routing_profiles_path and the profile-save site had bare relative imports that fail in standalone CLI mode — trace recording degraded to tier-2 on every CLI run (mislabeled 'inference_trace'). Fixed with the established dual-import pattern; verified clean run. 4. Standalone bootstrap: package parent now on sys.path for script execution. 5. hook_engine.fire dead call removed (rune_tui called a nonexistent function; AttributeError silently swallowed — hooks never ran). Left as an honest note, not a false-liveness surface. Verification: Phase 8 canary through the real spine — all 9 rungs observable from persisted state (trace v5 fields incl. memory abstention + broker budget, routing reason, checkpoint outcome, journal event, idempotent experience record). 1213 tests pass; ruff clean; ratchet at baseline. The route-authority placement choice (A/B/C) is presented in the audit report §G and awaits Nick's decision before wiring adaptive routing into the operator path. |
||
|
|
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. |