Directories
¶
| Path | Synopsis |
|---|---|
|
demo
|
|
|
demotool
command
Command demotool is the offline demo's stand-in model and its small helpers, so the demo needs neither an API key nor Python.
|
Command demotool is the offline demo's stand-in model and its small helpers, so the demo needs neither an API key nor Python. |
|
src
|
|
|
cmd/staircase
command
Command staircase is the command line of stAirCase: it stands between an AI agent and your repository, asks for a decision on every change, commits only what was approved, and writes the audit chain and the change certificate that prove it.
|
Command staircase is the command line of stAirCase: it stands between an AI agent and your repository, asks for a decision on every change, commits only what was approved, and writes the audit chain and the change certificate that prove it. |
|
internal/agent
Package agent is stAirCase's own agent runtime: the tools a model may call, the model clients, and the topology graph that drives them in-process.
|
Package agent is stAirCase's own agent runtime: the tools a model may call, the model clients, and the topology graph that drives them in-process. |
|
internal/approvalhttp
Package approvalhttp is a local HTTP API for approving out of process.
|
Package approvalhttp is a local HTTP API for approving out of process. |
|
internal/audit
Package audit provides append-only checkpoint writing outside the SQLite database so that tamper evidence survives DB-level attacks.
|
Package audit provides append-only checkpoint writing outside the SQLite database so that tamper evidence survives DB-level attacks. |
|
internal/barrier
Package barrier lets a test hold a process at a named point, so a kill drill can wait until the process has reached a boundary and then kill it.
|
Package barrier lets a test hold a process at a named point, so a kill drill can wait until the process has reached a boundary and then kill it. |
|
internal/blueprint
Package blueprint reads a blueprint - a project's automation (agents, prompts, routing, cases, stories and their scope) kept as files in its own repository - into an immutable snapshot identified by its content hash.
|
Package blueprint reads a blueprint - a project's automation (agents, prompts, routing, cases, stories and their scope) kept as files in its own repository - into an immutable snapshot identified by its content hash. |
|
internal/certificate
Package certificate is the change certificate (docs/adr/0002): a small in-toto statement about one commit, signed in a DSSE envelope, that says how the change was made and decided.
|
Package certificate is the change certificate (docs/adr/0002): a small in-toto statement about one commit, signed in a DSSE envelope, that says how the change was made and decided. |
|
internal/chain
Package chain is the audit chain's rule: how an entry is hashed, how a run's entries are verified, and how big one entry may be.
|
Package chain is the audit chain's rule: how an entry is hashed, how a run's entries are verified, and how big one entry may be. |
|
internal/changeset
Package changeset links runs of several repositories under one id.
|
Package changeset links runs of several repositories under one id. |
|
internal/crypto
Package crypto holds the workspace keys: AES-256-GCM encryption of the stored secrets, key rotation with a crash-safe journal, and the Ed25519 key that signs audit checkpoints and change certificates.
|
Package crypto holds the workspace keys: AES-256-GCM encryption of the stored secrets, key rotation with a crash-safe journal, and the Ed25519 key that signs audit checkpoints and change certificates. |
|
internal/diag
Package diag holds the logs kept for a person to read when something went wrong: the hosted-session log (host/<session>.log) and the run's debug log.
|
Package diag holds the logs kept for a person to read when something went wrong: the hosted-session log (host/<session>.log) and the run's debug log. |
|
internal/domain
Package domain holds the plain types the other packages share: vendors, projects, cases, stories, topologies, runs and the records of what happened in a run.
|
Package domain holds the plain types the other packages share: vendors, projects, cases, stories, topologies, runs and the records of what happened in a run. |
|
internal/engine
Package engine holds the logic that works on projects and files without touching a run: the dependency order of projects, path globs, the repository map and the ignore rules.
|
Package engine holds the logic that works on projects and files without touching a run: the dependency order of projects, path globs, the repository map and the ignore rules. |
|
internal/gate
Package gate is the pre-run quality gate.
|
Package gate is the pre-run quality gate. |
|
internal/governance
Package governance installs a team's rules and trusted keys from a governance repository into a workspace, pinned to an exact commit (ROADMAP phase 4: git as the control plane).
|
Package governance installs a team's rules and trusted keys from a governance repository into a workspace, pinned to an exact commit (ROADMAP phase 4: git as the control plane). |
|
internal/history
Package history is the one replay of a run's audit chain (ADR 0010): what a verified chain says a run bound, proposed, decided, parked, adopted, offered and delivered.
|
Package history is the one replay of a run's audit chain (ADR 0010): what a verified chain says a run bound, proposed, decided, parked, adopted, offered and delivered. |
|
internal/llm
Package llm talks to chat models that can call tools, over plain HTTPS: one OpenAI-compatible client (the LLM gateway, OpenAI, xAI, Gemini) and one Anthropic client, plus recording and offline replay of their exchanges.
|
Package llm talks to chat models that can call tools, over plain HTTPS: one OpenAI-compatible client (the LLM gateway, OpenAI, xAI, Gemini) and one Anthropic client, plus recording and offline replay of their exchanges. |
|
internal/obs
Package obs provides structured logging that redacts sensitive fields.
|
Package obs provides structured logging that redacts sensitive fields. |
|
internal/orchestrator
Package orchestrator implements the stAirCase run lifecycle.
|
Package orchestrator implements the stAirCase run lifecycle. |
|
internal/orchestrator/runtest
Package runtest runs an in-process agent against a throwaway workspace and repository, for tests of the orchestrator and of agents.
|
Package runtest runs an in-process agent against a throwaway workspace and repository, for tests of the orchestrator and of agents. |
|
internal/persistence
Package persistence is the workspace database (SQLite): vendors, projects, cases, stories, topologies, runs, secrets, and the hash-chained event log of each run.
|
Package persistence is the workspace database (SQLite): vendors, projects, cases, stories, topologies, runs, secrets, and the hash-chained event log of each run. |
|
internal/plan
Package plan is what compile produces and run executes: a case's topology, prompts and context as canonical JSON, checked before every run.
|
Package plan is what compile produces and run executes: a case's topology, prompts and context as canonical JSON, checked before every run. |
|
internal/policy
Package policy evaluates auto-approval rules against HITL yield requests.
|
Package policy evaluates auto-approval rules against HITL yield requests. |
|
internal/policysim
Package policysim runs expected-outcome scenarios against a policy file through the same admission code a real run uses (the deciders: rules, guards, drift supervision, limits, task and evidence approval), so CI can assert what a policy must and must not do.
|
Package policysim runs expected-outcome scenarios against a policy file through the same admission code a real run uses (the deciders: rules, guards, drift supervision, limits, task and evidence approval), so CI can assert what a policy must and must not do. |
|
internal/profile
Package profile is what is true of a project for every run of it (a spec of the first real project): the paths a person must always decide, the paths a change may touch, the checks, the sandbox.
|
Package profile is what is true of a project for every run of it (a spec of the first real project): the paths a person must always decide, the paths a change may touch, the checks, the sandbox. |
|
internal/relversion
Package relversion keeps every place that names the current release in step with the CHANGELOG, which is the one source of the version.
|
Package relversion keeps every place that names the current release in step with the CHANGELOG, which is the one source of the version. |
|
internal/sandbox
Package sandbox runs commands and checks confined: in the macOS sandbox, Linux bubblewrap or Landlock, or a docker container.
|
Package sandbox runs commands and checks confined: in the macOS sandbox, Linux bubblewrap or Landlock, or a docker container. |
|
internal/signal
Package signal asks an evaluation model, such as TypeSafe AI's Jev, typed questions about a proposed change.
|
Package signal asks an evaluation model, such as TypeSafe AI's Jev, typed questions about a proposed change. |
|
internal/sshsig
Package sshsig signs and checks payloads with SSH keys, through ssh-keygen (the format git uses for SSH-signed commits).
|
Package sshsig signs and checks payloads with SSH keys, through ssh-keygen (the format git uses for SSH-signed commits). |
|
internal/testdeps
Package testdeps is for tests that need a program the machine may not have.
|
Package testdeps is for tests that need a program the machine may not have. |
|
internal/vsa
Package vsa builds SLSA Verification Summary Attestations (VSA v1, SLSA v1.2) for commits that `staircase verify` accepted: what was verified, by whom, under which policy, from which attestations.
|
Package vsa builds SLSA Verification Summary Attestations (VSA v1, SLSA v1.2) for commits that `staircase verify` accepted: what was verified, by whom, under which policy, from which attestations. |
|
internal/webhookauth
Package webhookauth authenticates the webhook approval channel with HMAC-SHA256, in both directions.
|
Package webhookauth authenticates the webhook approval channel with HMAC-SHA256, in both directions. |
|
internal/wslock
Package wslock provides the advisory file locks (flock) shared by the runner and `secret rotate`.
|
Package wslock provides the advisory file locks (flock) shared by the runner and `secret rotate`. |
|
tools/jeveval
command
Command jeveval measures an evaluation model (such as typesafe-ai/jev) on labelled code changes with the questions stAirCase's signal asks (signal.ReviewQuestions): accuracy, calibration (Brier score), missed risky changes, latency and cost.
|
Command jeveval measures an evaluation model (such as typesafe-ai/jev) on labelled code changes with the questions stAirCase's signal asks (signal.ReviewQuestions): accuracy, calibration (Brier score), missed risky changes, latency and cost. |
|
tools/setversion
command
Command setversion makes every place that names the current release say the version the CHANGELOG's newest release heading gives: the pinned Action example, the fixture's default, the site's links and its setup guide (see internal/relversion).
|
Command setversion makes every place that names the current release say the version the CHANGELOG's newest release heading gives: the pinned Action example, the fixture's default, the site's links and its setup guide (see internal/relversion). |
Click to show internal directories.
Click to hide internal directories.