Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
fec01d4
docs: promote #83 (brief command) and #71 (type inference) to Tier 0 …
carlos-alm Mar 16, 2026
33aabcc
Merge branch 'main' of https://github.com/optave/codegraph
carlos-alm Mar 16, 2026
41d664f
docs: add Phase 4 (Native Analysis Acceleration) to roadmap
carlos-alm Mar 16, 2026
a16cf19
merge: resolve conflicts with origin/main in ROADMAP.md
carlos-alm Mar 16, 2026
5f82586
Merge branch 'main' into docs/roadmap-phase4-native-acceleration
carlos-alm Mar 16, 2026
fb539be
Merge branch 'main' into docs/roadmap-phase4-native-acceleration
carlos-alm Mar 16, 2026
30fdd26
docs: fix sub-section numbering to match parent phase headings
carlos-alm Mar 16, 2026
5511385
Merge remote-tracking branch 'origin/main' into docs/roadmap-phase4-n…
carlos-alm Mar 17, 2026
2fce690
fix: align version computation between publish.yml and bench-version.js
carlos-alm Mar 17, 2026
3b6dccf
feat: auto-detect semver bump in /release skill when no version provided
carlos-alm Mar 17, 2026
b0e5c30
feat: add /titan-run orchestrator with diff review, semantic assertio…
carlos-alm Mar 21, 2026
bb37b52
Merge remote-tracking branch 'origin/main' into pr-557-merge
carlos-alm Mar 21, 2026
f6a15cf
fix: correct undefined variable in titan-run gauntlet efficiency check
carlos-alm Mar 21, 2026
61035c2
fix: address Greptile review feedback on titan-run skill
carlos-alm Mar 21, 2026
ea192ea
fix: address Greptile review feedback on titan-run skill
carlos-alm Mar 21, 2026
f3d16a1
Merge branch 'main' into feat/release-skill-auto-semver
carlos-alm Mar 21, 2026
af56987
Merge branch 'main' into feat/release-skill-auto-semver
carlos-alm Mar 21, 2026
58f2238
fix: restore FORGE to codegraph exports and fn-impact in tool table
carlos-alm Mar 21, 2026
5168c3d
fix: unstage files before restoring working tree in forge Step 13 rol…
carlos-alm Mar 22, 2026
9c1433a
fix: add GATE to exports/fn-impact and FORGE to context in command table
carlos-alm Mar 22, 2026
1144217
fix: update --yes description to reflect actual orchestrator scope
carlos-alm Mar 22, 2026
a296b58
chore: checkpoint stale working tree changes from prior sessions
carlos-alm Mar 22, 2026
acee01f
Revert "chore: checkpoint stale working tree changes from prior sessi…
carlos-alm Mar 22, 2026
1f74144
Merge branch 'feat/release-skill-auto-semver' of https://github.com/o…
carlos-alm Mar 22, 2026
e5501fc
fix: correct command table and --yes flag documentation
carlos-alm Mar 22, 2026
05a4281
fix: address titan-gate review feedback — Louvain drift, temp paths, …
carlos-alm Mar 22, 2026
5dded2f
fix: address titan-run review feedback — --yes scope and --start-from…
carlos-alm Mar 22, 2026
15c051d
Merge branch 'main' into feat/release-skill-auto-semver
carlos-alm Mar 22, 2026
9274f3f
fix: titan-run review — Rules exceptions, skip-flag validation, test …
carlos-alm Mar 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 60 additions & 9 deletions .claude/skills/titan-forge/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ Your goal: read `sync.json`, find the next incomplete execution phase, make the
- `--phase N` → jump to specific phase
- `--target <name>` → run single target only (for retrying failures)
- `--dry-run` → show what would be done without changing code
- `--yes` → skip confirmation prompt

---

Expand Down Expand Up @@ -135,26 +134,78 @@ For each target in the current phase:

7. **Apply the change** based on phase strategy (Step 1) + gauntlet recommendation.

8. **Run tests:**
8. **Stage changed files:**
```bash
npm test 2>&1
git add <specific changed files>
```
If tests fail → go to rollback (step 11).

9. **Run /titan-gate:**
Use the Skill tool to invoke `titan-gate`. If FAIL → go to rollback (step 11).
9. **Diff review (intent verification):**
Before running gate or tests, verify the diff matches the intent. This catches cases where the code change is structurally valid but doesn't match what was planned.

10. **On success:**
Collect the context:
```bash
git diff --cached --stat
git diff --cached
```

Load the gauntlet entry for this target (from `gauntlet.ndjson`) and the sync plan entry (from `sync.json → executionOrder[currentPhase]`).

**Check all of the following:**

**D1. Scope — only planned files touched:**
Compare staged file paths against `sync.json → executionOrder[currentPhase].targets` and their known file paths (from gauntlet entries). Flag any file NOT associated with the current target or phase.
- File in a completely different domain → **DIFF FAIL**
- File is a direct dependency of the target (consumer or import) → **OK** (expected ripple)
- Test file for the target → **OK**

**D2. Intent match — diff aligns with gauntlet recommendation:**
Read the gauntlet entry's `recommendation` field and `violations` list. Verify the diff addresses them:
- If recommendation says "split" → diff should show new functions extracted, original simplified
- If recommendation says "remove dead code" → diff should show deletions, not additions
- If violation was "complexity > threshold" → diff should reduce complexity, not just move code around
- If the diff does something **entirely different** from the recommendation → **DIFF FAIL**

**D3. Commit message accuracy:**
Compare the planned commit message from `sync.json` against what the diff actually does.
- Message says "remove dead code" but diff adds new functions → **DIFF WARN**
- Message says "extract X from Y" but diff only modifies Y without creating X → **DIFF FAIL**

**D4. Deletion audit:**
If the diff deletes code (lines removed > 10):
```bash
codegraph fn-impact <deleted-symbol> -T --json 2>/dev/null
```
If the deleted symbol has active callers not updated in this diff → **DIFF FAIL**: "Deleted <symbol> still has <N> callers not updated in this commit."

**D5. Leftover check:**
If the gauntlet recommendation mentioned specific symbols to remove/refactor, verify they were actually addressed:
- Dead symbols listed for removal → should be deleted in the diff
- Functions marked for decomposition → original should be simplified or removed

**On DIFF FAIL:** Unstage and revert changes, add to `execution.failedTargets` with reason starting with `"diff-review: "`. Continue to next target.
**On DIFF WARN:** Log the warning but proceed to gate. Include the warning in the gate-log entry.

10. **Run tests** (detect the project's test command from package.json scripts — `npm test`, `yarn test`, `pnpm test`, etc.):
```bash
<detected-test-command> 2>&1
```
If tests fail → go to rollback (step 13).

11. **Run /titan-gate:**
Use the Skill tool to invoke `titan-gate`. If FAIL → go to rollback (step 13).

12. **On success:**
```bash
git add <specific changed files>
git commit -m "<commit message from sync.json>"
```
- Record commit SHA in `execution.commits`
- Add target to `execution.completedTargets`
- Record any diff-review warnings in `execution.diffWarnings` (if any)
- Update `titan-state.json`

11. **On failure (test or gate):**
13. **On failure (test, gate, or diff-review):**
```bash
git reset HEAD <changed files>
git checkout -- <changed files>
```
- Add to `execution.failedTargets` with reason: `{ "target": "<name>", "reason": "<why>", "phase": N }`
Expand Down
Loading
Loading