aryaniyaps/lamina-verify
Verify graph-backed product Missions after ordinary implementation work or when explicitly invoked as lamina-verify. Run isolated Persona and live UI audits; explicit verification is source-read-only.
npx skills add https://github.com/aryaniyaps/lamina --skill lamina-verify
Verification reads the active GraphVersion and publishes runtime Evidence through isolated Mission sessions. It never discovers, selects, or mutates the active GraphVersion.
Verification Missions are the runtime replay of Persona-bound Experience
Cases. They do not replace the earlier design-time Persona simulations that
must discover and expand new-feature flows before implementation begins.
First read and apply
../lamina/orchestrator/prerequisites/cli-required.md. Stop before all
mutations unless the CLI API 1 prerequisite passes.
Require valid .lamina/business-context.md using ../lamina/orchestrator/prerequisites/init-required.md; on failure emit ../lamina/orchestrator/prompts/outputs/init-blocked.md. Then run lamina graph status. Query the requested workflow and its actors, Personas, Operations, invariants, Scenarios, Proofs, Surfaces, dependencies, and Contradictions. Inspect the actual product using a runnable adapter when available; otherwise record static-analysis capability limits. Absence of an Observation is never evidence that behavior is absent.
Read ../lamina/orchestrator/audit-profiles.yaml. Load verify-core.always,
then only the verify-core.conditional entries whose when signal appears in
the Mission closure or request. For each entry, open the named capability
SKILL.md and then its exact reference; do not load sibling topics.
lamina mission compile --workflow <workflow-id>. This must return one independent Mission for every active Persona; there is no maximum of three.requiredness, relationship identity/cardinality, duplicates,
self-reference, visible states, denial/failure recovery, and invariant
probes.
lamina mission run <mission-id> --events <events.json>.
mission run returns an isolated staged session. Publish that exact sessionwith lamina session publish <session-id>. When a previously published
independent Run advanced the branch, first run `lamina session rebase
<session-id>`, then publish. A staged Run is not verification evidence.
Persona interpretation remains simulated.
For source reconciliation, run the one-shot lamina graph observe. Never run
lamina graph observe --live in a foreground agent turn: live mode is a
persistent operator-owned watcher and cannot be a completion gate.
Allowed normalized event types are action/state/outcome observed, oracle
passed/failed, denial observed, recovery attempted, artifact captured,
audit_passed with a valid audit_kind, and budget/capability failure. Each
oracle_passed or oracle_failed event must name a compiled case_id and
include a structured observation. A passing oracle must reference a
reproducible artifact. The structured event already binds the case, expected
behavior, and observed behavior; do not duplicate it in a second manifest.
For every Mission whose closure contains a Surface, exercise relevant states
in a real runnable UI adapter and capture all four independent audit classes:
functional: interaction and outcome oracle;visual: screenshot or visual-diff inspection;responsive: relevant desktop and mobile viewport evidence;accessibility: semantic tree and automated/manual accessibility evidence.Emit one audit_passed event per class with its artifact, Mission surface, and
concrete state. A missing browser, viewport, screenshot, or accessibility
capability is a capability failure and must block verification; static
analysis is not a substitute. Do not reuse one artifact across audit classes.
Verification is complete only when every active Persona Mission ran independently, all required evidence is available and reproducible, and lamina graph validate --at HEAD reports the validation and contradiction state. Human report.md or fix.md may be generated as query projections; they are not truth-bearing runtime inputs.
In passive flow, finish with `lamina work verify --packet <packet> --map
<work-map>`. This command requires published current-source Mission evidence
for every active UI Persona; staged HarnessResults and standalone audit files
cannot satisfy it. Do not recommend that the user invoke a verification skill.
Report the GraphVersion, source revision, Run and HarnessResult ids, evidence gaps, contradictions, and a crisp verified/not-verified verdict.
/lamina-verify.Take aryaniyaps/lamina-verify from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.