Skip to content

feat(s041): complete slice 041 (skill self-management with approval) - #50

Merged
HackTuah merged 8 commits into
mainfrom
slice/041-skill-self-management
Sep 21, 2026
Merged

HackTuah merged 8 commits into
mainfrom
slice/041-skill-self-management

Conversation

@HackTuah

Copy link
Copy Markdown
Member

Slice 041: the agent proposes skills and changes to them (skill_manage; learn distils a document). Every proposal is staged as the whole target tree under the data directory's pending root with a unified diff, the scanner's findings and a skill_changes row, and never loads. The one path that moves a staged tree into a root is Trinity.Skills.Promotion.swap/4: it requires an allowed skill_apply approval naming the change's id and digest, archives the previous version under .history/, renames the tree into place and writes an effect receipt on the skills chain scope. The census holds the tree to that one caller and two filesystem writers, with a plant. The persona's auto-approval applies none and low only; high never. /skills gained the pending list, the diff and findings view, approve and reject with a comment, and the learn form.

Evidence: slices/041-skill-self-management/PROOF.md (AC1 to AC8; the learned skill under proof/learned/, three screenshots), NOTES.md (nine findings, four follow-ups).

Schema: approvals.session_id is nullable since this slice (a change approved from the page has no session; the SQLite migration rebuilds the table), and skill_changes is new.

Gate on the final tree: run 35637583650, all four legs green; the Postgres leg locally too.

Manual queue for G4: AC6 (proof/learned/SKILL.md, 32 lines, and its 16-line reference, distilled from docs/backup.md by nvidia:nemotron in 151 s), AC7 (proof/ac7-*.png).

Signed-off-by: Ayla Croft aylacroft@proton.me

Signed-off-by: Ayla Croft <aylacroft@proton.me>
…h, the scanner, the manager, skill_manage and learn, the pending changes on /skills

Every change is staged as the whole target tree under the pending root with a unified diff,
the scanner's findings and a skill_changes row; the only apply path is Promotion.swap,
which requires an allowed skill_apply approval naming the change's id and digest, archives
the previous version under .history, renames the pending tree into place and writes an
effect receipt on the skills chain scope; the manager requests and decides the approval
through the permission gate (an approval may now have no session: migration and changeset)
and applies the persona's auto-approval to none/low only; the census finds the one caller
of swap and the two filesystem writers, and the plant; the compaction test's crossing
message is sized from the tool surface.

Signed-off-by: Ayla Croft <aylacroft@proton.me>
Signed-off-by: Ayla Croft <aylacroft@proton.me>
…for real line breaks and a run-on answer unflattened; the AC6 sample and AC7 shots

Signed-off-by: Ayla Croft <aylacroft@proton.me>
Signed-off-by: Ayla Croft <aylacroft@proton.me>
…d (lost in the learn edit); the page test covers them

Signed-off-by: Ayla Croft <aylacroft@proton.me>
PROOF.md with every criterion's evidence (the learned skill under proof/learned, the three
screenshots), NOTES findings and follow-ups, the coverage row (80.55 at ae200d7), and the
ROADMAP row to done.

Signed-off-by: Ayla Croft <aylacroft@proton.me>
Signed-off-by: Ayla Croft <aylacroft@proton.me>
@HackTuah
HackTuah merged commit 7bea12f into main Sep 21, 2026
8 checks passed
@HackTuah
HackTuah deleted the slice/041-skill-self-management branch September 21, 2026 18:35
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