Skip to content

feat(studio): knowledge — skills, learned skills, learning review, memory consolidation - #1760

Merged
samuv merged 1 commit into
plan/studio-knowledgefrom
studio/knowledge
Sep 23, 2026
Merged

samuv merged 1 commit into
plan/studio-knowledgefrom
studio/knowledge

Conversation

@samuv

@samuv samuv commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

What lands

  • BFF: fourteen /api/v1 routes projecting configured skills, versioned learned skills (detail, unified diff, lifecycle history, activate / archive / reject / rollback carrying the daemon's expectedRevision), the learning-proposal queue (decide, undo promotion), session reflection receipts, and the user model with its daemon-curated consolidation plans; each surface gated live on its own capability; a missing memory key is a 404.
  • Web: knowledge workspace (configured and learned views, learned-skill detail with diff, learning review, memory consolidation dialog); "Skills" joins the nav.

Verification

81 server and 214 web Vitest proofs (15 ACs, 0 missing); task studio:check, task docs pass; smoke against mecated --mock, which advertises every knowledge capability (inventories, memory, plan generation exercised live).

Further amendments

Implements the amended knowledge contract (see the plan layer below):

  • The server offers actions by lifecycle state and refuses a rollback without a target.

  • The stale-revision proof uses the daemon's real proposal_conflict code.

  • The detail page recovers the old and new text from the daemon's diff and renders a line diff.

  • Plan status. This layer's diff moves its acceptance plan to landed (header and index), per the plan lifecycle; the transition is authoritative only when this PR merges, and task ac-trace-strict now gates the plan.

Re-verified on the rebased stack: task studio:check passes (120 server + 254 web Vitest), and task ac-trace-strict passes with every Studio plan gated as landed (141 ACs, 0 failures).

Development stage

  • Plan / Interface
  • Implementation
  • Combined
  • Spike / Routine / Cleanup

Contract linkage

  • Work classification: Bounded
  • Classification rationale: adds the knowledge product surface (skills, learned skills, proposals, reflection, user memory) inside the boundary ADR 0351 fixed
  • Decision record: None — see the plan layer
  • Human waiver of spine: Yes — the directing human chose stacked (gh stack) delivery for the whole Studio series: nothing merges until every layer is reviewed, so the plan's approval-by-merge event is deferred to the end (recorded in each plan's Delivery line), and each implementation layer records the exact plan commit it built against.
  • Acceptance plan: docs/acceptance/studio-knowledge.md
  • Human decisions resolved and recorded: Yes
  • Plan / Interface PR: docs(plan): Mecatl Studio knowledge acceptance plan #1759
  • Approved commit baseline: 429f6485db43306f39f2b01f4ff6e0df2e74309e (the plan layer below; not yet merged — stacking exception above)
  • Combined/exemption rationale: N/A

Interface conformance

  • Matches the plan's contract.

Issue relationship

Relates to #1749 (parent #1736; stack #1766). Non-closing: the step completes when both of its layers merge.

Type of change

  • Behavioral/interface plan
  • Bug fix
  • New feature
  • Refactoring (no behavior change)
  • Dependency update
  • Documentation/process

Test plan

Baseline checks

  • Acceptance-plan checker
  • Linting (task lint)
  • Offline test suite (task test)
  • Offline demo (go run ./cmd/mecademo)
  • Markdown changed: docs generation/link checks (task docs)

Studio gates (this workspace is not covered by task lint / task test, which are Go-only): task studio:check (Biome, typecheck, Vitest, generated-drift), task ac-trace — all pass; see Verification above.

User-facing change

Studio gains the Skills page: configured and learned skills, learning review, memory consolidation.

Special notes for reviewers

Part of a fourteen-layer stack; review bottom-up. Nothing merges until the whole series is reviewed.

@samuv
samuv added this pull request to stack #1766 September 22, 2026 08:01
@samuv samuv self-assigned this Sep 22, 2026
…mory consolidation

Implementation layer of docs/acceptance/studio-knowledge.md, built
against plan commit 429f648.

BFF: fourteen /api/v1 routes projecting configured skills, versioned
learned skills (detail, unified diff, lifecycle history, and activate /
archive / reject / rollback carrying the daemon's expectedRevision), the
learning-proposal queue (decide, undo promotion), session reflection
receipts, and the user model with its daemon-curated consolidation
plans. Each surface is gated live on its own snapshot capability with a
surface-specific 501 code; the inventory lists degrade to supported:
false instead; a stale token is the daemon's conflict relayed, never
retried; a missing memory key is a 404. Mutations sit behind the
bootstrap's CSRF and session gates.

Web: the knowledge workspace (configured and learned views, learned-
skill detail with diff, learning review, memory consolidation dialog)
ported from the prototype; "Skills" joins the nav.

81 server and 214 web Vitest proofs; smoke-tested against a spawned
mecated --mock, which advertises every knowledge capability (inventories,
memory, and plan generation exercised live).

Tracking: #1736

Signed-off-by: Samuele Verzi <samu@stacklok.com>
@samuv
samuv merged commit 4e45ca4 into main Sep 23, 2026
33 checks passed
@samuv
samuv deleted the studio/knowledge branch September 23, 2026 13:15
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