Skip to content

DPLAN-0335 release awareness for project managers + safe aipass init update (manifest, plan-then-apply, .updateignore, doctor scaffold, release_notice hook, devpulse release-notify); RPLAN-0005 row 1 identity facets; daemon escaped-test seal; canary README - #761

Merged
AIOSAI merged 6 commits into
mainfrom
dev
Sep 10, 2026

Conversation

@AIOSAI

@AIOSAI AIOSAI commented Sep 10, 2026

Copy link
Copy Markdown
Owner

No description provided.

AIOSAI and others added 6 commits September 9, 2026 00:04
….personality (one Facet line per key, insertion order, after Purpose) and anti_traits (Never line after Don't); absent keys emit nothing so 172 of 173 passports render byte-identical, Vera 1817 to 3427 chars 9 to 16 lines; per-facet 320-char cut at sentence boundary, hard cut inside the limit; six mutations red, two found real defects before landing; hooks suite 1842 green, ruff clean, audit 100 uncached (hooks owning, devpulse landing)
… fixture prompt into Vera-Studio's and commons' live .daemon/last_wake_prompt.txt via record_wake_prompt; autouse _seal_branch_wake_prompt in conftest patches recovery._branch_daemon_dir to tmp suite-wide (nine real citizen emails appear as fixture owners, a per-module pin leaves the tenth open), sentinel tells a real tick from a suite write by the daemon_json match, mutation with the seal removed reproduced both escapes; 598 green both rootdirs, audit 100; canary README three stale sites corrected, repo-root form measures 47 green (daemon + canary owning, devpulse landing)
…ct managers and a safe aipass init update. aipass: scaffold_manifest.py (manifest of what AIPass wrote, conffile rule, seeds never rewritten, .updateignore owner protection, RETIRED_HOOK_HANDLERS), update_project plan-then-apply with zero writes in plan, --dry-run prints the real plan (exit 2 pending, 0 current, --json), backup before write, rename never delete, doctor Scaffold group; first update of an existing project overwrites nothing. hooks: project_hooks.json ruled handler by handler 18 to 25, auto_watchdog dropped (its dotted path resolved to nothing since the rename), release_notice manager-only on SessionStart + post-compact regroup, reads two files writes none, 1.18 ms; provider manifest + live settings gain SessionStart:release_notice. devpulse: drone @devpulse release-notify v<version> mails every manager (6 on this machine) with the release link and the update ritual, one r/announcements thread, idempotent per version; merge playbook step after the PyPI verify. Proof: Vera-Studio dry-run exit 2 with a byte-identical 28186-entry tree sweep; aipass 1086, hooks+daemon 2474, devpulse 576 green; ruff clean fleet-wide; audits 100 uncached aipass/hooks/devpulse (aipass + hooks owning, devpulse landing)
…ollow-up). drone @Spawn update honours the owner's ignore file the same way aipass init update does at project roots: one name, one syntax, second parser on purpose (branches never import each other's handlers). Checked FIRST in both template walks, ahead of the create-only set and the passport heal, so @vera's passport reaches the check before a merge can be proposed; protected paths never written, merged or backed up, reported as a skip not a warning; owner_protected count + detail block in preview and batch totals; spawn never creates the file. Proof on a /tmp copy of a real branch scaffold: passport proposed for merge without the file, owner_protected=1 with it and the rest of the update proceeding; apply leaves the passport byte-identical with no backup, the control apply rewrites it; 39,360-path mtime sweep, zero Vera-Studio paths moved. 12 pins, 11 mutations red, 1 measured equivalent (the '/' guard, 117 pairs, same line in aipass's copy). 972 green both rootdirs, ruff clean, audit 100 (spawn owning, devpulse landing)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hw2gQBYHFHLnyYPCT7UC8C
…ged scaffold file now lands with LF bytes on every OS. write_text with newline=None wrote CRLF on Windows while the manifest hashed the LF string and the plan hashed read_bytes, so a fresh project reported prep.md as an update on run 1 and kept-local with a spurious .aipass-new on run 2; one writer write_text_lf (newline pinned) at 31 sites across bootstrap, new_project and adopt, and the three copy2 calls for text templates became read-then-write so a CRLF checkout of AIPASS_HOME cannot hand a project unmatchable bytes either. Pinned with a platform oracle: a fixture makes Linux translate newlines only when newline is left unset, so a pinned writer passes through and the fixture cannot flatter the cure; two pins red without it (prep.md as CI named it, plus both tier files CI could not show), green with it. Same wave: a kept-local file whose sidecar already matches the template now counts as current (plan entries carry writes; counts, summary and exit code read that one key; Vera-Studio previews 0 of 8 would change, exit 0), doctor says kept (local edits) or kept (unknown provenance) and names both resolutions, and aipass new - the fourth minting door - stamps a manifest like the other three. Proof from the devpulse seat: 1088 green both rootdirs, ruff clean, audit 100 --full, Vera-Studio dry-run exit 0 with a zero-line whole-tree sweep diff. Also: DPLAN-0335 build order and devpulse memory (aipass owning, devpulse landing)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hw2gQBYHFHLnyYPCT7UC8C
…[Unreleased] dated 2026-09-10, version bumped in pyproject.toml and src/aipass/__init__.py

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hw2gQBYHFHLnyYPCT7UC8C
@AIOSAI
AIOSAI merged commit 2ba3dda into main Sep 10, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant