Agent commit message schema
Author status/<status>(<scope>) messages with required trailers; validate via commit-msg.
What you will learn
- Write a legal checkpoint
- Validate with API/MCP
- Fix trailer errors
Prerequisites
Surface
| Imports | @tmrxjd/agent-governance-system/commit-msg |
|---|---|
| MCP | commit_validate |
What this feature does
Messages start with `status/<status>(<scope>): <imperative>`. Trailers must include Status, Scope, Commit-Scope, Not-done, Next, Evidence, Token, Graph-ids, User-approved. Prefer `Enforcement: mcp`. Never claim finished unless `user-approved`.
Configuration
Add or update the configuration below in your repo. Keep it aligned with what agents and hooks read at runtime.
status/checkpoint(auth-middleware): add session refresh helper
Status: checkpoint
Scope: auth-middleware
Commit-Scope: function-create
Not-done: wire helper into request pipeline
Next: module-wire for refresh on 401
Evidence: vitest packages/auth/src/session.test.ts
Token: mid
Graph-ids: none (infra)
User-approved: no
Enforcement: mcpHow to call it
Call these MCP tools through your AGS / tower-gov host — commit_validate.. Prefer scan/get before validate/diff, and enforce only when the change set is ready.
- Draft trailers first
- commit_validate
- Fix errors
- Pass to commit_checkpoint
import { validateAgentCommitMessage } from '@tmrxjd/agent-governance-system/commit-msg'
const result = validateAgentCommitMessage(message)
if (!result.ok) process.exit(1)Milestone checks
`awaiting-user` requires `Commit-Scope: milestone-close` and `Milestone-checks: unit=pass; integration=pass; regression=pass; ui=pass|n/a; governance=pass; docs=pass; confidence=pass`.
What success looks like
commit_validate ok:true
Hook accepts the message
Common failure modes
Missing Commit-Scope / User-approved
Multiple categories batched
user-approved status outside close-only
Subject says done while User-approved: no