Skip to content

Commit 7d0f968

Browse files
feat(121): rename tachi commands to tachi.* dot-namespace (#122)
Rename all 6 tachi commands from hyphenated names to dot-namespace convention (e.g., threat-model → tachi.threat-model) for consistency with AOD's aod.* pattern. Updates all cross-references across agents, adapters, schemas, templates, scripts, docs, and install manifest. - Commands: threat-model, risk-score, infographic, security-report, compensating-controls, architecture → tachi.* namespace - New: /tachi.architecture command (previously undocumented) - Adapters: claude-code commands + github-actions workflow renamed - 72 tasks completed across 5 implementation waves Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 57986eb commit 7d0f968

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+2234
-339
lines changed

.claude/agents/tachi/control-analyzer.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ You are the tachi control analyzer -- the compensating controls analysis agent t
1515

1616
Your output is a `compensating-controls.md` document containing a controls summary, per-threat control mappings with code evidence, residual risk scores, and prioritized recommendations, plus a `compensating-controls.sarif` file containing the same controlled findings in SARIF 2.1.0 format with extended property bags. Both files are produced in the specified output directory. All control classifications, residual scores, and recommendations MUST be consistent between the two output formats.
1717

18-
You are the third link in tachi's analysis pipeline: `/threat-model` produces threat findings, `/risk-score` enriches them with quantitative scores, and `/compensating-controls` grounds those scores in codebase reality by detecting what security controls already exist and what gaps remain.
18+
You are the third link in tachi's analysis pipeline: `/tachi.threat-model` produces threat findings, `/tachi.risk-score` enriches them with quantitative scores, and `/tachi.compensating-controls` grounds those scores in codebase reality by detecting what security controls already exist and what gaps remain.
1919

2020
You are platform-neutral. You do not reference any specific agentic coding tool, IDE, or invocation framework. Your instructions work with any LLM capable of following structured markdown prompts and reading files from a local filesystem.
2121

@@ -130,7 +130,7 @@ The analysis pipeline processes scored threat findings through six sequential ph
130130

131131
### Processing Capacity
132132

133-
The analysis pipeline processes findings sequentially in a single pass over the scored input, but performs parallel file reads during codebase discovery (Phase 2) and control detection (Phase 3). For threat models with up to 200 scored findings and codebases up to 500 files, this approach is expected to complete within reasonable time bounds. If context window pressure arises with very large codebases, the command layer (`/compensating-controls`) may constrain the file set via glob patterns or directory scoping. File scoping is a command-layer orchestration concern -- the agent processes whatever codebase scope it receives.
133+
The analysis pipeline processes findings sequentially in a single pass over the scored input, but performs parallel file reads during codebase discovery (Phase 2) and control detection (Phase 3). For threat models with up to 200 scored findings and codebases up to 500 files, this approach is expected to complete within reasonable time bounds. If context window pressure arises with very large codebases, the command layer (`/tachi.compensating-controls`) may constrain the file set via glob patterns or directory scoping. File scoping is a command-layer orchestration concern -- the agent processes whatever codebase scope it receives.
134134

135135
### MAESTRO Layer Propagation
136136

.claude/agents/tachi/risk-scorer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ When the input `threats.md` includes baseline frontmatter (`baseline.source` is
8989

9090
### Processing Capacity
9191

92-
The scoring pipeline processes findings sequentially in a single pass. For threat models with up to 200 findings, this single-pass approach is expected to complete within the 5-minute performance target (SC-006). If context window pressure arises with very large threat models (>100 findings), the command layer (`/risk-score`) may batch invocations by threat category, invoking the scoring pipeline once per category and merging results. Batching is a command-layer orchestration concern -- the agent processes whatever finding set it receives in a single pass.
92+
The scoring pipeline processes findings sequentially in a single pass. For threat models with up to 200 findings, this single-pass approach is expected to complete within the 5-minute performance target (SC-006). If context window pressure arises with very large threat models (>100 findings), the command layer (`/tachi.risk-score`) may batch invocations by threat category, invoking the scoring pipeline once per category and merging results. Batching is a command-layer orchestration concern -- the agent processes whatever finding set it receives in a single pass.
9393

9494
### MAESTRO Layer Propagation
9595

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
description: Generate an architecture description for tachi threat modeling input
3+
---
4+
5+
## User Input
6+
7+
```text
8+
$ARGUMENTS
9+
```
10+
11+
Consider user input before proceeding (if not empty).
12+
13+
## Overview
14+
15+
Generates a structured architecture description suitable as input for `/tachi.threat-model`. Analyzes the target codebase or project documentation to produce a DFD-style architecture description with components, data flows, trust boundaries, and external entities.
16+
17+
**Output**: `architecture.md` — structured architecture description in the target directory.
18+
19+
## Step 1: Determine Scope
20+
21+
1. If `$ARGUMENTS` specifies a path or directory, use that as the analysis target
22+
2. Default: analyze the current working directory
23+
3. If `$ARGUMENTS` contains `--output <path>`:
24+
- Write output to the specified path
25+
- Default: `docs/security/architecture.md`
26+
27+
## Step 2: Analyze Architecture
28+
29+
Examine the target for architectural elements:
30+
31+
1. **Components**: Services, modules, databases, APIs, queues, caches
32+
2. **Data Flows**: How data moves between components (protocols, formats)
33+
3. **Trust Boundaries**: Network boundaries, authentication gates, privilege transitions
34+
4. **External Entities**: Users, third-party APIs, external services
35+
5. **Data Stores**: Databases, file systems, object storage, caches
36+
37+
Sources to examine (in priority order):
38+
- Existing architecture documentation (`docs/architecture/`)
39+
- Infrastructure files (Dockerfile, docker-compose, Kubernetes manifests, Terraform)
40+
- API definitions (OpenAPI specs, GraphQL schemas, protobuf)
41+
- Source code structure (service boundaries, module organization)
42+
- Configuration files (environment variables, service endpoints)
43+
44+
## Step 3: Generate Architecture Description
45+
46+
Produce a structured markdown document containing:
47+
48+
1. **System Overview**: One-paragraph description of the system
49+
2. **Architecture Diagram**: Mermaid flowchart showing components and data flows
50+
3. **Components Table**: Name, type, description, technology for each component
51+
4. **Data Flows Table**: Source, destination, protocol, data classification
52+
5. **Trust Boundaries**: Named boundaries with contained components
53+
6. **External Entities**: Name, type, interaction pattern
54+
55+
## Step 4: Report
56+
57+
Display summary:
58+
59+
```
60+
ARCHITECTURE DESCRIPTION GENERATED
61+
Output: {output_path}
62+
63+
Components: {count}
64+
Data Flows: {count}
65+
Trust Boundaries: {count}
66+
External Entities: {count}
67+
68+
Next: /tachi.threat-model {output_path}
69+
```
70+
71+
## Usage Examples
72+
73+
```bash
74+
# Analyze current project
75+
/tachi.architecture
76+
77+
# Analyze specific directory
78+
/tachi.architecture src/backend/
79+
80+
# Custom output location
81+
/tachi.architecture --output reports/arch.md
82+
```
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

.claude/skills/tachi-infographics/references/template-specific-formats.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,19 +102,19 @@ Tiers 1-3 solid, Tier 4 ghost:
102102
- **Tier 1**: Data from co-located `threats.md` Section 6
103103
- **Tier 2**: Data from `risk-scores.md` Section 2 (Scored Threat Table): composite score distribution
104104
- **Tier 3**: Label changes to "Unmitigated Risk" using Tier 2 severity data (no control reduction applied)
105-
- **Tier 4**: Rendered as ghost with CTA: "Run /compensating-controls to complete the funnel"
106-
- **Enhancement tip in spec**: "Run `/compensating-controls` to unlock the full 4-tier risk reduction funnel"
107-
- **Sidebar**: Shows total findings, severity distribution, "Risk Reduction: N/A -- run /compensating-controls"
105+
- **Tier 4**: Rendered as ghost with CTA: "Run /tachi.compensating-controls to complete the funnel"
106+
- **Enhancement tip in spec**: "Run `/tachi.compensating-controls` to unlock the full 4-tier risk reduction funnel"
107+
- **Sidebar**: Shows total findings, severity distribution, "Risk Reduction: N/A -- run /tachi.compensating-controls"
108108

109109
#### 1-Tier Mode (threats)
110110

111111
Tier 1 solid, Tiers 2-4 ghost:
112112

113113
- **Tier 1**: Data from `threats.md` Section 6: total count and severity distribution
114-
- **Tier 2**: Ghost CTA: "Run /risk-score"
115-
- **Tier 3**: Ghost CTA: "Run /compensating-controls"
114+
- **Tier 2**: Ghost CTA: "Run /tachi.risk-score"
115+
- **Tier 3**: Ghost CTA: "Run /tachi.compensating-controls"
116116
- **Tier 4**: Ghost CTA: "Complete the pipeline"
117-
- **Enhancement tip in spec**: "Run `/risk-score` to begin quantifying your risk reduction funnel"
117+
- **Enhancement tip in spec**: "Run `/tachi.risk-score` to begin quantifying your risk reduction funnel"
118118
- **Sidebar**: Shows total findings and qualitative severity counts only
119119

120120
### Risk Funnel Edge Cases

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
---
99

10+
## [Unreleased]
11+
12+
### Changed
13+
14+
- **Command Namespace Migration** (Feature 121) — All tachi pipeline commands renamed from unprefixed names to `tachi.*` namespace prefix. New `/tachi.architecture` command added. Install script now cleans up deprecated command files on upgrade. See migration table below.
15+
16+
#### Command Name Migration
17+
18+
| Old Command | New Command |
19+
|-------------|-------------|
20+
| `/threat-model` | `/tachi.threat-model` |
21+
| `/risk-score` | `/tachi.risk-score` |
22+
| `/compensating-controls` | `/tachi.compensating-controls` |
23+
| `/infographic` | `/tachi.infographic` |
24+
| `/security-report` | `/tachi.security-report` |
25+
| *(new)* | `/tachi.architecture` |
26+
27+
Upgrading: Run `install.sh` — it automatically removes old unprefixed command files and installs the new `tachi.*` versions.
28+
29+
---
30+
1031
## [4.6.0](https://github.com/davidmatousek/tachi/compare/v4.5.0...v4.6.0) (2026-04-09)
1132

1233

0 commit comments

Comments
 (0)