Compare commits

...
5 Commits
Author SHA1 Message Date
conductor c7c6b2d5ac chore(release): auto-bump version to 0.72.0 — earned by # (minor: converged release (push-to-master bump))
Auto-version and Release / release (push) Successful in 29s
CI Pipeline / unit-tests (push) Successful in 2m57s
CI Pipeline / lint (push) Successful in 40s
CI Pipeline / canary (push) Successful in 33s
CI Pipeline / best-practices (push) Successful in 14s
CI Pipeline / documentation (push) Successful in 12s
CI Pipeline / type-check (push) Successful in 31s
CI Pipeline / gitea-offline (push) Successful in 17s
deploy / deploy (push) Successful in 4m36s
CI Pipeline / required-checks (push) Successful in 4s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 8s
Promotion record: (unknown)
2026-09-16 14:15:07 +01:00
Nick 6a761f2d87 feat(t21): Scaffolding V1 → 1.0.0 governed baseline (21S) — earned across T14-T21; 21L fresh-context test: 18.8KB ledgers answered all four questions without repo exploration
CI Pipeline / best-practices (push) Successful in 10s
CI Pipeline / canary (push) Successful in 36s
CI Pipeline / lint (push) Successful in 51s
Auto-version and Release / release (push) Successful in 1m12s
CI Pipeline / gitea-offline (push) Successful in 19s
CI Pipeline / type-check (push) Successful in 33s
CI Pipeline / documentation (push) Successful in 8s
CI Pipeline / unit-tests (push) Successful in 2m58s
CI Pipeline / required-checks (push) Successful in 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 5s
deploy / deploy (push) Successful in 4m16s
2026-09-16 14:14:26 +01:00
conductor 9ef267f2e3 chore(release): auto-bump version to 0.71.1 — earned by # (patch: converged release (push-to-master bump))
Auto-version and Release / release (push) Successful in 23s
CI Pipeline / unit-tests (push) Successful in 2m58s
CI Pipeline / lint (push) Successful in 40s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / best-practices (push) Successful in 7s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 8s
deploy / deploy (push) Failing after 2m11s
Promotion record: (unknown)
2026-09-16 13:59:35 +01:00
Nick bd80fb0e3b chore(store): T21 evidence
CI Pipeline / best-practices (push) Successful in 10s
CI Pipeline / documentation (push) Successful in 6s
CI Pipeline / canary (push) Successful in 35s
CI Pipeline / lint (push) Successful in 46s
Auto-version and Release / release (push) Successful in 35s
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 17s
CI Pipeline / unit-tests (push) Successful in 2m49s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 5s
deploy / deploy (push) Successful in 5m18s
2026-09-16 13:58:58 +01:00
Nick 759a836726 fix(tui): _task_repo_for_loader referenced undefined _operator (F821) — real accessor is rune_operator.get_operator() (21G follow-through, CI-caught) 2026-09-16 13:58:58 +01:00
8 changed files with 285 additions and 159 deletions

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
# Rune
**Current release: v0.71.0**
**Current release: v0.72.0**
**Rune is a persistent personal agent designed to accumulate experience, develop reusable competence, and remain recognisably the same agent even when its underlying foundation model changes.**
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "rune"
version = "0.71.0"
version = "0.72.0"
description = "Rune — a stateful coding assistant with persistent memory, orchestration, and TUI"
requires-python = ">=3.10"
+1 -1
View File
@@ -6,7 +6,7 @@ This is the main entry point for the Rune program.
import json
from pathlib import Path
__version__ = "0.71.0"
__version__ = "0.72.0"
# One build identity (handoff 2026-09-10 §4): the semantic version above is
# the repo-level truth (auto-bumped at merge); the DEPLOYED revision (exact
+1 -1
View File
@@ -231,7 +231,7 @@ def main() -> int:
)
check(
"Rune minor version advertises provisioning and restore verification",
'__version__ = "0.71.0"' in rune_version,
'__version__ = "0.72.0"' in rune_version,
failures,
)
# #169 policy update: auto-bump on merge is sanctioned (Nick directive:
+4 -3
View File
@@ -8,7 +8,7 @@ mode system, subject header, shared memory and identity.
This is not an interface. This is how I see, speak, and interact with the world.
Version: v0.71.0
Version: v0.72.0
Features: 41 (24 original + 17 new native commands)
Usage:
@@ -1704,7 +1704,8 @@ class RuneApp(App):
when the operator is unreachable (startup ordering), which
the load_tasks fallback then handles."""
try:
return getattr(_operator(), "_task_state", None)
import rune_operator as _ro
return getattr(_ro.get_operator(), "_task_state", None)
except Exception as exc: # noqa: BLE001 — deliberate degradation: startup ordering; the fallback path handles it and the degradation is logged
print(f"[task-loader] canonical repo unavailable ({exc}); "
f"falling back to export ledger", flush=True)
@@ -1884,7 +1885,7 @@ class RuneApp(App):
# Show version info
self.chat_channel.add_message(
"system",
f"[dim]Rune v0.71.0 | Textual TUI | {len(loaded)} native modules[/dim]",
f"[dim]Rune v0.72.0 | Textual TUI | {len(loaded)} native modules[/dim]",
)
# Auto-show night mode suggestion if evening/night hours
+96 -1
View File
@@ -187,6 +187,101 @@
"state_touched": "TaskStateRepository (canonical), operator.json (legacy cache)",
"updated_at": "2026-09-16T03:59:49Z"
},
"capability:scaffolding-v1": {
"behaviour_specs": [
"behaviour:VAL-RUNE-001",
"behaviour:VAL-RUNE-002",
"behaviour:VAL-RUNE-003",
"behaviour:VAL-RUNE-004",
"behaviour:VAL-RUNE-005",
"behaviour:VAL-RUNE-008"
],
"capability_id": "capability:scaffolding-v1",
"component": "subsystem:kernel",
"constraints": "frozen V1 design; defects fixed proportionally",
"consumers": [
"component:rune_tui",
"component:rune_operator",
"component:programme_continuation"
],
"contract": "intent \u2192 classification \u2192 research \u2192 scaffold \u2192 contract \u2192 isolated construction \u2192 verification \u2192 descriptive impact \u2192 selective invalidation \u2192 obligations \u2192 governed release",
"created_at": "2026-09-16T13:13:26Z",
"dependencies": [
"component:construction_mode",
"component:event_wait"
],
"generation": "",
"invariants": [
"real construction never bypasses its canonical contract",
"event drives continuation; watchdog detects failure",
"scaffolding never selects providers",
"builder cannot self-certify",
"automated green never implies USER_CONFIRMED"
],
"limitations": [],
"maturity": "implemented",
"name": "Scaffolding V1",
"owning_project": "rune",
"purpose": "governed construction process over a persistent structural model",
"source_locations": [
"src/rune/scaffold.py",
"src/rune/construction_mode.py",
"src/rune/construction_interface.py",
"src/rune/structural_model.py",
"src/rune/iteration.py",
"src/rune/capability_ledger.py",
"src/rune/behaviour_ledger.py"
],
"spec": {
"acceptance_criteria": [
"all frozen-V1 requirements at TEST_PROVEN or LIVE_PROVEN with named exceptions"
],
"baseline_reason": "T21 acceptance: every frozen-V1 requirement at TEST_PROVEN+ across T14-T21 (7 tranches, 2000+ tests, multiple LIVE_PROVEN proofs incl. self-update, external adoption, legacy transformation); governance_version_started_at = this baseline",
"expected_behaviours": [
"construction request \u2192 governed contract \u2192 building \u2192 verified",
"event wake resumes controller; authority re-read decides",
"spec material change \u2192 semver bump with provenance",
"structural change \u2192 selective RETEST_REQUIRED with reasons",
"external repo adopted without Rune-specific assumptions"
],
"governance_version_started_at": "2026-09-16T13:13:26Z",
"non_goals": [
"memory graph",
"substrate coordination",
"TUI aesthetics",
"provider selection"
],
"requirements": [
"governed construction kernel with legal phase transitions",
"contextual intent resolution (action vs discussion, referents)",
"research-led construction with durable Build Basis",
"structural Scaffold with queries + impact closure",
"capability ledgers + living specs + strict internal SemVer",
"behaviour validation with generation-aware selective invalidation",
"event-driven waiting (event drives; watchdog detects failure)",
"project registry with authority boundaries",
"external-project adoption",
"legacy transformation + governed retirement",
"live A/B self-update with rollback",
"fresh-context rehydration from compact ledgers"
],
"schema_version": 1,
"version": "1.0.0",
"version_history": [
{
"affected_consumers": [],
"at": "2026-09-16T13:13:26Z",
"changed_sections": [],
"kind": "BASELINE",
"reason": "T21 acceptance: every frozen-V1 requirement at TEST_PROVEN+ across T14-T21 (7 tranches, 2000+ tests, multiple LIVE_PROVEN proofs incl. self-update, external adoption, legacy transformation); governance_version_started_at = this baseline",
"validation_consequences": [],
"version": "1.0.0"
}
]
},
"state_touched": "scaffold stores, capability/behaviour ledgers, structural model, project registry",
"updated_at": "2026-09-16T13:13:26Z"
},
"capability:tui-testing-command": {
"behaviour_specs": [
"behaviour:testing-aggregate"
@@ -256,5 +351,5 @@
}
],
"schema_version": 1,
"updated_at": "2026-09-16T03:59:49Z"
"updated_at": "2026-09-16T13:13:26Z"
}
+22
View File
@@ -0,0 +1,22 @@
{
"projects": {
"stock-tool": {
"default_branch": "master",
"forge_repo": "",
"last_known_good": "",
"outstanding_validations": 0,
"project_id": "stock-tool",
"registered_at": "2026-09-16T12:44:51Z",
"repo_identity": "git:/mnt/workdrive/t21-adoption/repo",
"runtime_generation": "",
"scaffold_location": "/mnt/workdrive/t21-adoption/scaffold",
"scaffold_state": {
"health": "UNKNOWN",
"last_material_update": "2026-09-16T12:44:51Z"
},
"structural_schema_version": 1
}
},
"schema_version": 1,
"updated_at": "2026-09-16T12:44:51Z"
}
+159 -151
View File
File diff suppressed because it is too large. Load diff