Documentation
¶
Overview ¶
Package seamark is the module root. It holds one thing: the agent skills embedded from the skills/ tree. The tree stays at the repository root because `npx skills add seamark-dev/seamark --skill <name>` looks for SKILL.md there. A go:embed directive cannot reach a parent directory, so the embedding package sits beside the tree.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var SkillsFS embed.FS
SkillsFS is the skills/ tree, byte for byte, as built into the binary. The embed directive skips names that start with "." or "_", so the tree must carry none; a test under internal/skills compares the two. internal/skills is the only reader: init, doctor, and status go through it.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
lessons-bench
command
Command lessons-bench runs the active experiment: does the seamark lessons hook change what a headless agent writes? Two arms differing in exactly one bit (the hook wired or absent), a fresh synthetic or pinned-public worktree per trial, a frozen task, and a deterministic judge.
|
Command lessons-bench runs the active experiment: does the seamark lessons hook change what a headless agent writes? Two arms differing in exactly one bit (the hook wired or absent), a fresh synthetic or pinned-public worktree per trial, a frozen task, and a deterministic judge. |
|
lessons-bench-prepare
command
Command lessons-bench-prepare materializes immutable public-repository source and offline dependencies before a lessons benchmark run.
|
Command lessons-bench-prepare materializes immutable public-repository source and offline dependencies before a lessons benchmark run. |
|
lessons-bench-report
command
Command lessons-bench-report renders explicit benchmark JSONL inputs into a deterministic Markdown report evaluated against frozen claims.
|
Command lessons-bench-report renders explicit benchmark JSONL inputs into a deterministic Markdown report evaluated against frozen claims. |
|
seamark
command
Command seamark is the CLI entry point.
|
Command seamark is the CLI entry point. |
|
skills-bench
command
Command skills-bench runs the skills workflow experiment: does installing the seamark agent skills change what a headless agent does on a companion-file task, compared with the seamark MCP server alone? Two arms that differ in exactly one thing (the skills installed and callable, or not), a fresh fixture whose history carries the companion pair, a frozen task, and the lessons benchmark's deterministic judges.
|
Command skills-bench runs the skills workflow experiment: does installing the seamark agent skills change what a headless agent does on a companion-file task, compared with the seamark MCP server alone? Two arms that differ in exactly one thing (the skills installed and callable, or not), a fresh fixture whose history carries the companion pair, a frozen task, and the lessons benchmark's deterministic judges. |
|
skills-bench-report
command
Command skills-bench-report renders workflow result files, and optionally activation result files, into a deterministic Markdown report evaluated against the frozen workflow claims and activation criteria.
|
Command skills-bench-report renders workflow result files, and optionally activation result files, into a deterministic Markdown report evaluated against the frozen workflow claims and activation criteria. |
|
internal
|
|
|
agent
Package agent invokes the user's own coding-agent CLI for one-shot prompted tasks — the inference seam behind features like lesson distillation.
|
Package agent invokes the user's own coding-agent CLI for one-shot prompted tasks — the inference seam behind features like lesson distillation. |
|
approve
Package approve manages the configuration that lets a coding agent call the seamark MCP tools without a permission prompt: Claude Code allow rules in .claude/settings.json and Codex per-tool approvals in .codex/config.toml.
|
Package approve manages the configuration that lets a coding agent call the seamark MCP tools without a permission prompt: Claude Code allow rules in .claude/settings.json and Codex per-tool approvals in .codex/config.toml. |
|
cli
Package cli wires the seamark commands.
|
Package cli wires the seamark commands. |
|
confidence
Package confidence computes a deterministic evidence-health tier for distilled proposals (RFC-002 §6) — a leaf package, because both the distiller's surfaces and the report layer must reach one answer and neither may import the other.
|
Package confidence computes a deterministic evidence-health tier for distilled proposals (RFC-002 §6) — a leaf package, because both the distiller's surfaces and the report layer must reach one answer and neither may import the other. |
|
delivery
Package delivery is the shared advisory-delivery transaction of the edit hooks.
|
Package delivery is the shared advisory-delivery transaction of the edit hooks. |
|
distill
Package distill turns the raw review findings behind lessons into candidate groups for LLM distillation (RFC-001 §5.4 Tier 2).
|
Package distill turns the raw review findings behind lessons into candidate groups for LLM distillation (RFC-001 §5.4 Tier 2). |
|
doctor
Package doctor diagnoses the seamark installation: binary, git, the index database's schema and integrity, policy and effect-catalogue compilation, hook wiring, agent and gh availability, agent skills, tool approvals, and gitignore sanity.
|
Package doctor diagnoses the seamark installation: binary, git, the index database's schema and integrity, policy and effect-catalogue compilation, hook wiring, agent and gh availability, agent skills, tool approvals, and gitignore sanity. |
|
effects
Package effects holds the sink catalogue: which calls can ultimately write a database, spawn a process, touch the filesystem, or leave the network (RFC-001 §5.2).
|
Package effects holds the sink catalogue: which calls can ultimately write a database, spawn a process, touch the filesystem, or leave the network (RFC-001 §5.2). |
|
fixes
Package fixes mines fix commits into findings — the lesson source that exists in every repository, review culture or none.
|
Package fixes mines fix commits into findings — the lesson source that exists in every repository, review culture or none. |
|
gate
Package gate is the pre-execution and pre-edit policy engine (RFC-001 §5.5): commands are parsed with a real shell parser (never regex), classified against the effect catalogue, and evaluated against CEL rules over the declared environment.
|
Package gate is the pre-execution and pre-edit policy engine (RFC-001 §5.5): commands are parsed with a real shell parser (never regex), classified against the effect catalogue, and evaluated against CEL rules over the declared environment. |
|
history
Package history mines the git log into the history layer of the graph: commits become Decision rows, and file co-occurrence across commits becomes CoChange pairs with lift.
|
Package history mines the git log into the history layer of the graph: commits become Decision rows, and file co-occurrence across commits becomes CoChange pairs with lift. |
|
hooks
Package hooks knows how seamark's Claude Code hooks are spelled in .claude/settings.json: the marker strings, the ownership rule, and gate-mode detection live here once — init writes hooks, status reads them, and two copies of the matching logic would drift.
|
Package hooks knows how seamark's Claude Code hooks are spelled in .claude/settings.json: the marker strings, the ownership rule, and gate-mode detection live here once — init writes hooks, status reads them, and two copies of the matching logic would drift. |
|
htmlreport
Package htmlreport renders the index as one self-contained HTML page.
|
Package htmlreport renders the index as one self-contained HTML page. |
|
index
Package index orchestrates a full indexing pass: walk the workspace, parse supported files, resolve call references into edges, mine git history, and write everything into the store atomically.
|
Package index orchestrates a full indexing pass: walk the workspace, parse supported files, resolve call references into edges, mine git history, and write everything into the store atomically. |
|
integration
Package integration holds the client registry and the adapter contracts that make a coding agent (Claude Code, Codex, …) a local contribution: one descriptor, one registration.
|
Package integration holds the client registry and the adapter contracts that make a coding agent (Claude Code, Codex, …) a local contribution: one descriptor, one registration. |
|
integration/inspecttest
Package inspecttest holds the one fixture matrix that the integration, doctor, status, and init tests share.
|
Package inspecttest holds the one fixture matrix that the integration, doctor, status, and init tests share. |
|
learning
Package learning holds the learning-workflow services of the console (`seamark tui`): evidence refresh, distillation, and trigger extraction.
|
Package learning holds the learning-workflow services of the console (`seamark tui`): evidence refresh, distillation, and trigger extraction. |
|
lessonstats
Package lessonstats gathers lesson delivery statistics as typed data for `seamark lessons --stats` and the console.
|
Package lessonstats gathers lesson delivery statistics as typed data for `seamark lessons --stats` and the console. |
|
lsp
Package lsp serves the seamark graph to editors over the Language Server Protocol.
|
Package lsp serves the seamark graph to editors over the Language Server Protocol. |
|
maintain
Package maintain inspects the installed pins and maintains the proposal-linked ones for the console and the CLI.
|
Package maintain inspects the installed pins and maintains the proposal-linked ones for the console and the CLI. |
|
mcp
Package mcp serves the seamark index over the Model Context Protocol's stdio transport: newline-delimited JSON-RPC 2.0, the same hand-rolled approach the LSP server took (RFC-001 §6.2).
|
Package mcp serves the seamark index over the Model Context Protocol's stdio transport: newline-delimited JSON-RPC 2.0, the same hand-rolled approach the LSP server took (RFC-001 §6.2). |
|
model
Package model holds the shared data types of the seamark graph.
|
Package model holds the shared data types of the seamark graph. |
|
outcome
Package outcome implements the passive loop: for each applied pin that has fired at least once, it checks whether the pin's mistake recurred after agents started seeing it.
|
Package outcome implements the passive loop: for each applied pin that has fired at least once, it checks whether the pin's mistake recurred after agents started seeing it. |
|
parse
Package parse turns source files into language-neutral symbol and reference facts.
|
Package parse turns source files into language-neutral symbol and reference facts. |
|
pinfile
Package pinfile reads, classifies, and edits the pin list of .seamark/lessons.yaml.
|
Package pinfile reads, classifies, and edits the pin list of .seamark/lessons.yaml. |
|
pinfile/pinfiletest
Package pinfiletest builds large pin files and the index rows around them, for the Phase 4 benchmarks (make tui-measure).
|
Package pinfiletest builds large pin files and the index rows around them, for the Phase 4 benchmarks (make tui-measure). |
|
proposals
Package proposals is the service layer for the proposal decision ledger.
|
Package proposals is the service layer for the proposal decision ledger. |
|
redact
Package redact scrubs secret-shaped values from text seamark stores or displays: audited command lines (the gate's opt-in raw log), mined review-comment bodies, and fix-commit patches.
|
Package redact scrubs secret-shaped values from text seamark stores or displays: audited command lines (the gate's opt-in raw log), mined review-comment bodies, and fix-commit patches. |
|
render
Package render holds small text-shaping helpers shared by the CLI and LSP surfaces: everything user-visible passes through here so untrusted input (git metadata, source-derived signatures) is handled once.
|
Package render holds small text-shaping helpers shared by the CLI and LSP surfaces: everything user-visible passes through here so untrusted input (git metadata, source-derived signatures) is handled once. |
|
report
Package report renders seamark's text reports — the shared surface behind the CLI, the MCP server, and anything else that answers questions from the index.
|
Package report renders seamark's text reports — the shared surface behind the CLI, the MCP server, and anything else that answers questions from the index. |
|
reviews
Package reviews mines pull-request review comments into lessons: the recurring feedback left on the same kind of change.
|
Package reviews mines pull-request review comments into lessons: the recurring feedback left on the same kind of change. |
|
scaffold
Package scaffold holds the client-independent setup documents and the setup request assembly that `seamark init` and the console share.
|
Package scaffold holds the client-independent setup documents and the setup request assembly that `seamark init` and the console share. |
|
settings
Package settings reads and edits the focused Seamark settings in two documents.
|
Package settings reads and edits the focused Seamark settings in two documents. |
|
skills
Package skills is the catalogue of agent skills that ship inside the seamark binary.
|
Package skills is the catalogue of agent skills that ship inside the seamark binary. |
|
status
Package status gathers and renders the index's semantic health: how much of the workspace is actually covered, how confident the edges are, how old the history evidence is, and which integrations are live.
|
Package status gathers and renders the index's semantic health: how much of the workspace is actually covered, how confident the edges are, how old the history evidence is, and which integrations are live. |
|
store
Package store owns the on-disk index: a single SQLite file holding the structure, history, effects, and policy tables (RFC-001 §5.1).
|
Package store owns the on-disk index: a single SQLite file holding the structure, history, effects, and policy tables (RFC-001 §5.1). |
|
store/storetest
Package storetest builds index rows for the tests of other packages.
|
Package storetest builds index rows for the tests of other packages. |
|
tui
Package tui is the experimental `seamark tui` workspace console.
|
Package tui is the experimental `seamark tui` workspace console. |
|
tui/services
Package services is the typed engine adapter of the seamark console (`seamark tui`).
|
Package services is the typed engine adapter of the seamark console (`seamark tui`). |
|
tui/services/servicestest
Package servicestest holds the fixtures of the tests that run the production engine of internal/tui/services.
|
Package servicestest holds the fixtures of the tests that run the production engine of internal/tui/services. |
|
tui/ui
Package ui holds the drawing primitives of the seamark console: the theme, the glyphs and the tones, the boxes, the modals and the overlay, the text helpers, the scroll, pager and list state, the line input (input.go), the multi-line text area (textarea.go), the movement keys and the n/a key helpers.
|
Package ui holds the drawing primitives of the seamark console: the theme, the glyphs and the tones, the boxes, the modals and the overlay, the text helpers, the scroll, pager and list state, the line input (input.go), the multi-line text area (textarea.go), the movement keys and the n/a key helpers. |
|
wording
Package wording decides whether two short rule/note pairs say the same thing.
|
Package wording decides whether two short rule/note pairs say the same thing. |
|
workspace
Package workspace resolves a repository workspace and describes its index database without writing to it.
|
Package workspace resolves a repository workspace and describes its index database without writing to it. |
|
yamledit
Package yamledit finds the source lines of YAML nodes, so that an editor can splice the text of a committed file instead of encoding it again.
|
Package yamledit finds the source lines of YAML nodes, so that an editor can splice the text of a committed file instead of encoding it again. |
Click to show internal directories.
Click to hide internal directories.