Compare commits

..
22 Commits
Author SHA1 Message Date
conductor 6bfe993801 chore(release): auto-bump version to 0.54.3 — earned by #244 (fix(pipeline): re-wire umbrella impact gate — lost in #212 merge resolution)
CI Pipeline / lint (push) Successful in 31s
CI Pipeline / unit-tests (push) Successful in 44s
CI Pipeline / canary (push) Failing after 27s
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / required-checks (push) Successful in 2s
Promotion record: #244
2026-09-08 06:55:42 +01:00
conductor 092393a620 chore(release): auto-bump version to 0.54.3 — earned by #244 (fix(pipeline): re-wire umbrella impact gate — lost in #212 merge resolution)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Successful in 31s
CI Pipeline / canary (push) Failing after 29s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Successful in 51s
CI Pipeline / required-checks (push) Successful in 1s
Promotion record: #244
2026-09-08 06:55:39 +01:00
conductor 3162c99e4f chore(release): auto-bump version to 0.54.3 — earned by #244 (fix(pipeline): re-wire umbrella impact gate — lost in #212 merge resolution)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Successful in 30s
CI Pipeline / canary (push) Failing after 25s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Successful in 44s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / required-checks (push) Successful in 0s
Promotion record: #244
2026-09-08 06:55:37 +01:00
conductor 1e0c1a0618 chore(release): auto-bump version to 0.54.3 — earned by #244 (fix(pipeline): re-wire umbrella impact gate — lost in #212 merge resolution)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Successful in 30s
CI Pipeline / canary (push) Failing after 25s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / unit-tests (push) Successful in 48s
CI Pipeline / required-checks (push) Successful in 1s
Promotion record: #244
2026-09-08 06:55:34 +01:00
conductor 2974b173d3 chore(release): auto-bump version to 0.54.3 — earned by #244 (fix(pipeline): re-wire umbrella impact gate — lost in #212 merge resolution)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / canary (push) Failing after 27s
CI Pipeline / lint (push) Successful in 33s
CI Pipeline / type-check (push) Successful in 26s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Successful in 48s
CI Pipeline / required-checks (push) Successful in 1s
Promotion record: #244
2026-09-08 06:55:32 +01:00
conductor 90fc6061bc Merge pull request 'fix(pipeline): re-wire umbrella impact gate — lost in #212 merge resolution' (#244) from umbrella-rewire into master
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / canary (push) Failing after 28s
CI Pipeline / lint (push) Successful in 33s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / unit-tests (push) Successful in 49s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 06:55:19 +01:00
Nick 3c688bd126 fix(pipeline): re-wire umbrella impact gate — lost in #212 merge resolution
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 3s
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / canary (push) Failing after 30s
CI Pipeline / lint (push) Successful in 32s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Successful in 50s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 32s
CI Pipeline / canary (pull_request) Failing after 25s
Spec gate (headless) / spec-gate (pull_request) Successful in 5s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / unit-tests (pull_request) Successful in 45s
CI Pipeline / type-check (pull_request) Successful in 24s
CI Pipeline / required-checks (pull_request) Successful in 1s
Auto-version and Release / release (pull_request) Successful in 31s
2026-09-08 06:50:29 +01:00
conductor 5ba6301047 chore(release): auto-bump version to 0.54.2 — earned by #243 (chore: trigger release (conductor push-whitelisted))
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / canary (push) Failing after 28s
CI Pipeline / lint (push) Successful in 31s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / unit-tests (push) Successful in 49s
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / required-checks (push) Successful in 0s
Promotion record: #243
2026-09-08 06:40:44 +01:00
conductor bfb0a28626 chore(release): auto-bump version to 0.54.2 — earned by #243 (chore: trigger release (conductor push-whitelisted))
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / lint (push) Successful in 30s
CI Pipeline / canary (push) Failing after 26s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / unit-tests (push) Successful in 44s
CI Pipeline / required-checks (push) Successful in 2s
Promotion record: #243
2026-09-08 06:40:43 +01:00
conductor f15e0f1b0f chore(release): auto-bump version to 0.54.2 — earned by #243 (chore: trigger release (conductor push-whitelisted))
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / lint (push) Successful in 29s
CI Pipeline / canary (push) Failing after 26s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / unit-tests (push) Successful in 44s
CI Pipeline / required-checks (push) Successful in 2s
Promotion record: #243
2026-09-08 06:40:39 +01:00
conductor 661f1f9869 chore(release): auto-bump version to 0.54.2 — earned by #243 (chore: trigger release (conductor push-whitelisted))
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Successful in 30s
CI Pipeline / canary (push) Failing after 27s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Successful in 49s
CI Pipeline / required-checks (push) Successful in 1s
Promotion record: #243
2026-09-08 06:40:36 +01:00
conductor 892ae96de8 chore(release): auto-bump version to 0.54.2 — earned by #243 (chore: trigger release (conductor push-whitelisted))
CI Pipeline / best-practices (push) Successful in 1s
CI Pipeline / lint (push) Successful in 29s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / canary (push) Failing after 26s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Failing after 40s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / required-checks (push) Successful in 1s
Promotion record: #243
2026-09-08 06:40:34 +01:00
conductor f5d8ab15bc Merge pull request 'chore: trigger release (conductor push-whitelisted)' (#243) from trigger-bump-2 into master
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / canary (push) Failing after 26s
CI Pipeline / lint (push) Successful in 31s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Successful in 48s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 06:40:22 +01:00
Nick 656afa07c6 chore: trigger release — conductor push-whitelisted, direct-commit bump unblocked
Auto-label / priority-gate (pull_request) Skipped
CI Pipeline / best-practices (push) Successful in 4s
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / canary (push) Failing after 28s
CI Pipeline / lint (push) Successful in 31s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Successful in 48s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / lint (pull_request) Successful in 29s
CI Pipeline / canary (pull_request) Failing after 29s
CI Pipeline / gitea-offline (pull_request) Successful in 14s
CI Pipeline / required-checks (push) Successful in 1s
Spec gate (headless) / spec-gate (pull_request) Successful in 4s
CI Pipeline / unit-tests (pull_request) Successful in 44s
CI Pipeline / type-check (pull_request) Successful in 25s
CI Pipeline / required-checks (pull_request) Successful in 1s
Auto-version and Release / release (pull_request) Failing after 24s
2026-09-08 06:38:22 +01:00
conductor 280c40394f Merge pull request 'fix(release): ROBOT_TOKEN binding + canary contract update (supersedes #241)' (#242) from release-token-fix into master
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / canary (push) Failing after 26s
CI Pipeline / lint (push) Successful in 33s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Successful in 47s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 06:32:40 +01:00
Nick 810af91368 merge research-structuralization (ROBOT_TOKEN in auto-version + canary contract update)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 9s
CI Pipeline / canary (push) Failing after 26s
CI Pipeline / lint (push) Successful in 30s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Successful in 48s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / best-practices (pull_request) Successful in 3s
CI Pipeline / documentation (pull_request) Successful in 2s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / canary (pull_request) Failing after 26s
CI Pipeline / lint (pull_request) Successful in 32s
CI Pipeline / type-check (pull_request) Successful in 25s
Spec gate (headless) / spec-gate (pull_request) Successful in 6s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
CI Pipeline / unit-tests (pull_request) Successful in 47s
CI Pipeline / required-checks (pull_request) Successful in 1s
Auto-version and Release / release (pull_request) Failing after 9s
2026-09-08 06:29:30 +01:00
Nick 7089285a3e Merge remote-tracking branch 'gitea/research-structuralization' into sweep-live
Auto-label / priority-gate (pull_request) Skipped
CI Pipeline / best-practices (push) Successful in 4s
Auto-label / auto-label (pull_request) Successful in 4s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / canary (push) Failing after 27s
CI Pipeline / lint (push) Successful in 32s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Successful in 48s
CI Pipeline / required-checks (push) Successful in 2s
Spec gate (headless) / spec-gate (pull_request) Successful in 6s
CI Pipeline / lint (pull_request) Successful in 30s
CI Pipeline / unit-tests (pull_request) Successful in 43s
CI Pipeline / canary (pull_request) Failing after 27s
CI Pipeline / best-practices (pull_request) Successful in 3s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / type-check (pull_request) Successful in 24s
CI Pipeline / gitea-offline (pull_request) Successful in 14s
CI Pipeline / required-checks (pull_request) Successful in 2s
Auto-version and Release / release (pull_request) Failing after 10s
2026-09-08 06:23:10 +01:00
Nick 4a33074b6a fix(release): auto-version authenticates via ROBOT_TOKEN — the reserved GITEA_TOKEN is the read-only auto token (gitea-actions bot cannot commit to protected master; 403 'user cannot commit to repo') 2026-09-08 06:22:55 +01:00
conductor 99de8ce1be Merge pull request 'fix(release): surface gate self-heals base drift + drift detail to stdout' (#240) from research-structuralization into master
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / lint (push) Successful in 34s
CI Pipeline / type-check (push) Successful in 24s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Successful in 49s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 06:18:44 +01:00
conductor a1dcdadde2 Merge branch 'master' into research-structuralization
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Successful in 31s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Successful in 53s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 30s
CI Pipeline / canary (pull_request) Successful in 28s
CI Pipeline / unit-tests (pull_request) Successful in 44s
CI Pipeline / gitea-offline (pull_request) Successful in 14s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / type-check (pull_request) Successful in 24s
Spec gate (headless) / spec-gate (pull_request) Successful in 7s
CI Pipeline / required-checks (pull_request) Successful in 1s
Auto-version and Release / release (pull_request) Failing after 7s
2026-09-08 06:17:03 +01:00
Nick 56bc364832 fix(release): surface gate recovers from base drift — unchanged surfaces carrying a stale version are force-edited to NEW (with evidence line); drift detail printed to stdout (stderr was swallowed by runner logs)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / lint (push) Successful in 33s
CI Pipeline / canary (push) Successful in 27s
Auto-label / auto-label (pull_request) Successful in 5s
CI Pipeline / unit-tests (push) Successful in 48s
Auto-label / priority-gate (pull_request) Skipped
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 31s
CI Pipeline / canary (pull_request) Successful in 26s
Spec gate (headless) / spec-gate (pull_request) Successful in 4s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / type-check (pull_request) Successful in 24s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
CI Pipeline / unit-tests (pull_request) Successful in 45s
CI Pipeline / required-checks (pull_request) Successful in 1s
2026-09-08 06:15:19 +01:00
conductor 8bcf6a81b0 Merge pull request 'chore: trigger release pipeline (empty commit — proves direct-commit bump)' (#239) from trigger-bump into master
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / canary (push) Successful in 27s
CI Pipeline / lint (push) Successful in 30s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Successful in 48s
CI Pipeline / required-checks (push) Successful in 1s
2026-09-08 06:09:39 +01:00
7 changed files with 28 additions and 13 deletions

No files matched your search

+18 -7
View File
@@ -31,7 +31,7 @@ jobs:
- name: Auto-bump if the PR did not carry a version bump
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_TOKEN: ${{ secrets.ROBOT_TOKEN }}
RELEASE_SERVER_URL: ${{ gitea.server_url }}
RELEASE_REPO: ${{ gitea.repository }}
PR_TITLE: ${{ gitea.event.pull_request.title }}
@@ -126,20 +126,31 @@ jobs:
drifts = []
for rel, pat in checks:
if rel not in edited:
# unchanged surface: must ALREADY carry NEW
# unchanged surface: must ALREADY carry NEW — if it carries a
# DIFFERENT version (base drift, e.g. pyproject at 0.49.0 while
# master is 0.54.1), RECOVER by force-editing to NEW. The gate
# stays: nothing commits unless every surface carries NEW.
status, cur = api(f"/contents/{rel}?ref=master")
text = base64.b64decode(cur.get("content", "")).decode("utf-8", "replace") if status == 200 else ""
if status != 200:
drifts.append(f"{rel}: unreadable ({status})")
continue
text = base64.b64decode(cur.get("content", "")).decode("utf-8", "replace")
hits = re.findall(pat, text)
if NEW not in hits:
drifts.append(f"{rel}: unchanged but does not carry {NEW} (found {sorted(set(hits))})")
fixed = re.sub(pat, lambda m: m.group(0).replace(m.group(1), NEW), text, count=1)
if fixed != text:
edited[rel] = (fixed, cur["sha"])
print(f" RECOVERED {rel}: base drift {sorted(set(hits))} -> {NEW}")
else:
drifts.append(f"{rel}: pattern present but unfixable (found {sorted(set(hits))})")
else:
hits = re.findall(pat, edited[rel][0])
if NEW not in hits:
drifts.append(f"{rel}: edited content does not carry {NEW}")
if drifts:
print("VERSION-SURFACE DRIFT — bump aborted, nothing committed:", file=sys.stderr)
print("VERSION-SURFACE DRIFT — bump aborted, nothing committed:")
for d in drifts:
print(f" - {d}", file=sys.stderr)
print(f" - {d}")
sys.exit(1)
# Commit each surface DIRECTLY to master (bookkeeping, not reviewable code)
@@ -162,7 +173,7 @@ jobs:
PYBUMP
- name: Create release from merged pull request
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_TOKEN: ${{ secrets.ROBOT_TOKEN }}
PR_TITLE: ${{ gitea.event.pull_request.title }}
PR_BODY: ${{ gitea.event.pull_request.body }}
RELEASE_API_URL: ${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases
+4
View File
@@ -80,6 +80,10 @@ jobs:
python3 -m venv .test-venv
.test-venv/bin/pip install --disable-pip-version-check -r requirements-ci.txt
.test-venv/bin/pip install --disable-pip-version-check -e . --no-deps
- name: Umbrella impact gate (propagation contract)
run: |
python3 scripts/umbrella_impact.py check \
--base "$(git merge-base origin/master HEAD)" --head HEAD
- name: Test with coverage (global floor + changed-lines ratchet)
run: |
# #149 coverage ratchet — both floors live in .coveragerc; raise,
+1 -1
View File
@@ -1,6 +1,6 @@
# Rune
**Current release: v0.54.1**
**Current release: v0.54.3**
**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.54.1"
version = "0.54.3"
description = "Rune — a stateful coding assistant with persistent memory, orchestration, and TUI"
requires-python = ">=3.10"
+1 -1
View File
@@ -3,4 +3,4 @@
This is the main entry point for the Rune program.
"""
__version__ = "0.54.1"
__version__ = "0.54.3"
+1 -1
View File
@@ -252,7 +252,7 @@ def main() -> int:
)
check(
"Rune minor version advertises provisioning and restore verification",
'__version__ = "0.54.1"' in rune_version,
'__version__ = "0.54.3"' in rune_version,
failures,
)
# #169 policy update: auto-bump on merge is sanctioned (Nick directive:
+2 -2
View File
@@ -7,7 +7,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.54.1
Version: v0.54.3
Features: 41 (24 original + 17 new native commands)
Usage:
@@ -1923,7 +1923,7 @@ class RuneApp(App):
# Show version info
self.chat_channel.add_message(
"system",
f"[dim]Rune v0.54.1 | Textual TUI | {len(loaded)} native modules[/dim]",
f"[dim]Rune v0.54.3 | Textual TUI | {len(loaded)} native modules[/dim]",
)
# Auto-show night mode suggestion if evening/night hours