docs(agents): make constant process pipeline explicit + fix process-layer drift
The suede process layer is constant across every fork (full-stack,
content, backend, other). What varies is the details — issue tracker,
branch convention, version policy, which global skills apply. This
commit makes that contract explicit in three places:
- AGENTS.md: new 'Constant process pipeline' section with the 11-stage
table (concept -> grill -> PRD -> issues -> triage -> build ->
diagnose -> review -> QA -> release -> handoff) and the always-on
supporting layer (decision graph, task notes, git workflow, authoring
boundaries). Working style rewritten to bucket skills by pipeline
stage. Task flow Start + During steps now reference the pipeline
section as the canonical source.
- .opencode/skills/suede-kickoff/SKILL.md: Step 3 reframed as a
/grill-me session with Thread A (project) and Thread B (process-layer
customizations). Thread B is open-ended — the process is the human's,
the agent doesn't pick which ~/.agents/skills/ to load, which issue
tracker to use, or which branch convention to enforce. Step 8 splits
the decision list into process-layer edits (lead) and runtime-layer
edits.
- .opencode/commands/work.md: fixed the 'hooks will BLOCK you' claim
on line 13. The require-action-node plugin nags to .deciduous/plugin.log;
it does not block. Same fix shape in 'Why This Matters'.
- .opencode/commands/build-test.md: rewritten from stock deciduous
(cargo + Rust) to the suede defaults (pnpm + Vitest + svelte-check +
Storybook). The 2026-06-04-01 task note originally flagged this
misalignment.
Did NOT touch the other 8 stock deciduous commands — out of scope for
this task. Did NOT introduce a branch-naming convention — out of scope.
Did NOT resolve the deciduous sync boundary — out of scope.
Co-authored-by: opencode <noreply@opencode.ai>
docs(agents): assume-included Storybook, GitHub-primary tracker, prune-tests skill, kill deciduous update
Six follow-up points from the user after the turn-1 commit. All land
on the same branch as a separate commit so the turn-1 / turn-2 work
is independently reviewable.
- AGENTS.md Git workflow: 'Never branch off an in-flight branch.' Only
main is a valid base. In-flight work follows up on the same branch
or waits. A branch-of-branch creates a PR whose base vanishes the
moment the first PR merges.
- AGENTS.md Authoring boundaries: 'Storybook discipline' subsection
with assume-included wording. A UI primitive change is incomplete
without a story update in the same commit. The override path lives
in suede-kickoff Thread B Q7 (a fork that rips Storybook records
the override in the kickoff follow-up task note, and the agent
rewrites AGENTS.md / tdd-supplementary to reflect the rip).
- AGENTS.md Constant process pipeline: 'Tracker preconditions' para.
Stages 4/5/8/9 need a tracker. Default: GitHub Issues. Sane
overrides: markdown-dir, Linear, GitLab. Tangled is a mirror, not
a tracker. When no tracker is configured, those stages collapse to
mental checks on the task note's Follow-ups.
- AGENTS.md Releases: rewrote intro as 'mechanics constant, scheme
variable.' The fork-invariant part is the release flow mechanics;
the scheme (chronver / semver / other) is a Thread B question.
Added 'Tracker and remotes' paragraph making GitHub Issues the
default tracker and Tangled a mirror.
- AGENTS.md Decision Graph Workflow: Session Start Checklist no
longer references 'deciduous check-update'. Added a 'Do not run
deciduous update' policy paragraph (the upstream update command
regenerates .opencode/, .claude/, AGENTS.md from defaults and
silently overwrites hand-edits).
- AGENTS.md Working style: added 'tdd-supplementary' to the
build-stage skills list.
- .opencode/plugins/version-check.ts: rewritten as a no-op. Writes
a one-time marker to .deciduous/.version_check_disabled + a single
log line, then returns silently. The deciduous auto-update toggle
is deprecated upstream; disabling the plugin is the only effective
silencing.
- .gitignore: added agent-notes/plans/ with a comment explaining
the rationale (plan files are per-task scratchpads; the compiled
form persists; handoff is the resume tool).
- .opencode/skills/task-lifecycle/SKILL.md: 'Do not write a plan
file to agent-notes/plans/' — gitignored scratchpads, handoff is
the resume tool.
- .opencode/skills/suede-kickoff/SKILL.md: Thread B Q7 strengthened
to 'Defaults: keep all' with explicit override paths (Storybook
rip rewrites AGENTS.md + tdd-supplementary; SvelteKit rip rewrites
AGENTS.md + build-test.md).
- .opencode/skills/tdd-supplementary/SKILL.md (new): three
sections — Prune pass (the rule the global tdd skill is missing;
walks the tdd/tests.md Red flags checklist; deletes in the same
commit); Storybook discipline (restates the Authoring Boundaries
rule as a workflow); What's intentionally not in this skill.
Co-authored-by: opencode <noreply@opencode.ai>
feat(opencode): add agents, commands, plugins, skills, tools, and project config
- .opencode/agents/deciduous.md: specialist agent for
deciduous decision-graph operations.
- .opencode/commands/*.md (10 files): slash-command wrappers
for the most common workflows (work, build, document,
decision-graph, decision, recover, serve-ui, sync, sync-graph,
build-test).
- .opencode/plugins/*.ts (3 files): lifecycle hooks —
post-commit-reminder, require-action-node (Edit/Write
guard), version-check.
- .opencode/skills/{archaeology,narratives,pulse}/SKILL.md:
in-repo skills for narrative-driven decision-graph work.
- .opencode/tools/deciduous.ts: thin TS tool wrapper for the
deciduous CLI used by the agents/commands above.
- opencode.json: project-level opencode config (model,
agent list, MCP servers, etc.).
Also includes a stray prettier reformat of .storybook/preview.ts
(the import chain was unchanged; only whitespace/indentation
differed from the version committed in b718ad0).
Excluded: .opencode/.gitignore (workspace-internal config that
self-excludes via its own last line), .opencode/node_modules/,
.opencode/package.json, .opencode/package-lock.json
(gitignored at the repo root by the prior commit).