Skip to main content

Day 1 Deliverables

Everything that ships with the plugin on day 1, plus the build priority roadmap.


Skills (user-invocable commands)

SkillWhat it doesDX value
/bastion:initScaffold security/ directory, create bastion.yamlOne command from zero to working
/bastion:verifyRun all Layer 4 checks, output structured resultsSingle command replaces 4 manual steps
/bastion:scopeShow which vectors apply to staged/changed filesInstant security context
/bastion:integrate-vectorAccept agent proposal, generate vector + test + rule"Yes" becomes 5 artifacts
/bastion:proposeSubmit pending proposals to core frameworkOne command, zero template-filling
/bastion:propose --dry-runPreview what would be submittedSee the PR before it's created
/bastion:syncPull framework updates, match new vectors to projectStay current without reading changelogs
/bastion:statusShow pending proposals, sync state, contribution statsDashboard of security posture
/bastion:auditRun all 4 auditor agents on changed filesFull domain sweep in one command
/bastion:audit --fullRun all auditors on all project filesQuarterly deep sweep
/bastion:researchRun intelligence-sync (Job 1 + Job 2)Discover new threats and sources
/bastion:coverageShow vector coverage report with gaps"Where are we exposed?"
/bastion:complianceCheck standards compliance (OWASP, NIST, etc.)Answer "are we compliant?" with evidence
/bastion:explain AV-048Explain a specific vector: what, why, how to fixNew developer understands any vector instantly
/bastion:diffCompare local vectors against core frameworkSee what's novel, missing, or outdated

Hooks (automatic triggers)

HookEventWhat it doesDX value
Post-edit security checkPostToolUse on Write/Edit of *.damlRuns scope on changed fileSee applicable vectors instantly
Pre-commit gatePreToolUse on Bash(git commit)Quick semgrep scan, blocks on CRITICALCatches issues before git history
Post-integrate nudgePostToolUse on /bastion:integrate-vectorNovelty check, nudges upstream proposalDrives community contributions
Post-sync reportAfter /bastion:syncShows new matching vectorsNew content is immediately actionable
Stale sync alertSessionStart if last sync > 30 daysReminds user to syncPrevents drift from core
Pending proposals reminderSessionStart if pending queue non-emptyShows count with submit commandKeeps contribution pipeline moving
Coverage regressionPostToolUse on vector YAML editsRe-runs coverage checkPrevents accidental coverage loss

Agents (AI-powered analysis)

AgentLayerTriggerWhat it produces
authorization-auditor1/bastion:audit, auth pattern changesVector proposals for controller/signatory/access issues
arithmetic-auditor1/bastion:audit, numeric code changesVector proposals for division/overflow/precision issues
temporal-auditor1/bastion:audit, time/deadline changesVector proposals for deadline/expiry/staleness issues
state-auditor1/bastion:audit, lifecycle code changesVector proposals for state machine/archive issues
intelligence-sync1/bastion:research, weekly scheduleNew vector + source proposals
standards-sync1/bastion:research, after releasesStandards updates, advisory-driven proposals
vector-integrator3/bastion:integrate-vectorVector YAML + test + semgrep rule + index
proposal-builder3/bastion:proposeSanitized, validated GitHub PR

Makefile Targets

TargetEquivalent skillCI-friendly
make bastion-init/bastion:initYes
make bastion-verify/bastion:verifyYes (exit 0/1)
make bastion-verify-quick/bastion:verify --quickYes
make bastion-scope/bastion:scopeYes
make bastion-propose/bastion:proposeInteractive
make bastion-propose-pending/bastion:propose --allSemi
make bastion-propose-dry-run/bastion:propose --dry-runYes
make bastion-status/bastion:statusYes
make bastion-sync/bastion:syncInteractive
make bastion-securityFull scan suiteYes
make bastion-pre-commitQuick gateYes

MCP Tools

ToolUsed byPurpose
bastion_scanAgents, CIRun semgrep, return structured results
bastion_verifyAgents, CIFull verification with JSON output
bastion_scopePost-edit hook, agentsMatch files to applicable vectors
bastion_vector_status/bastion:coverageCoverage report per vector
bastion_integrate/bastion:integrate-vectorCreate artifacts from accepted proposal
bastion_propose/bastion:proposeSanitize and build PR payload
bastion_sync/bastion:syncCheck registry, pull updates
bastion_standards/bastion:complianceStandards mapping check
bastion_explain/bastion:explainRetrieve and format vector details
bastion_novelty_checkPost-integrate hookCompare item against core catalog

Structured Results Format

{
"run_id": "2026-03-21-a1b2c3",
"timestamp": "2026-03-21T14:30:00Z",
"framework_version": "2.1.0",
"project": "canton-exchange",
"summary": {
"vectors_total": 47,
"vectors_covered": 38,
"vectors_missing": 6,
"vectors_partial": 3,
"coverage_pct": 80.9,
"semgrep_findings": 2,
"tests_passed": 34,
"tests_failed": 1,
"standards_compliance": {
"owasp-top-10": "85%",
"nist-800-53": "72%"
}
},
"vectors": [
{
"id": "AV-001",
"domain": "authorization",
"status": "COVERED",
"test": "testSelfTransferPrevention",
"test_result": "PASS",
"semgrep_rule": "daml-self-transfer",
"semgrep_result": "CLEAN",
"last_verified": "2026-03-21T14:30:00Z"
}
]
}

End-to-End Flow: A New Threat Emerges


Build Priority Roadmap

EXISTS (in this repo today)

  • 4 focused auditor agent definitions
  • intelligence-sync agent definition
  • 134-source intelligence catalog
  • Semgrep rules (DAML + web)
  • Attack vector schema + examples
  • MCP server (DAML/Canton dev tools only)
  • Init script (scaffolding)
  • Verify script (needs fix: hardcoded paths, no JSON output)
  • Scope script (needs fix: hardcoded paths)
  • Makefile targets
  • bastion.yaml template

MUST BE BUILT

Priority 1 — Foundation

  • scripts/config.py — shared bastion.yaml config loader
  • Fix verify.py — read config, add --json output
  • Fix scope.py — read config instead of hardcoded paths
  • security/results/ output format and writer

Priority 2 — Core Skills

  • /bastion:init, /bastion:verify, /bastion:scope skills
  • /bastion:integrate-vector skill + vector-integrator agent
  • /bastion:explain, /bastion:coverage, /bastion:audit skills
  • Test skeleton generator
  • Semgrep rule generator
  • Vector status auto-updater

Priority 3 — Hooks

  • Post-edit security check
  • Pre-commit gate
  • Post-integrate nudge
  • Session start reminders
  • Coverage regression warning

Priority 4 — Distribution + Ecosystem

  • .claude-plugin/plugin.json
  • registry.yaml
  • /bastion:sync, /bastion:propose, /bastion:status, /bastion:compliance, /bastion:diff, /bastion:research skills
  • proposal-builder agent
  • MCP security tools (10 tools)
  • vectors/community/ directory
  • GitHub PR templates + CODEOWNERS + rulesets
  • standards/ directory with initial mappings
  • standards-sync agent

Priority 5 — Polish

  • Clean project-specific content from sources.yaml
  • Remove monorepo artifacts
  • Clean AGENT_COORDINATION.md
  • scripts/generate_docs.py
  • CI pipeline for framework itself
  • Source scoring applied to existing 134 sources