Skip to content

Commit 18366e8

Browse files
Rishi Kolisettyclaude
authored andcommitted
v1.1.0: Issue lifecycle ledger + living REPORT.md documentation
Adds persistent audit trail: every issue is tracked across scans with deterministic fingerprints. Issues auto-transition open → fixed → regressed. New tools: get_history, log_fix, acknowledge_issue, get_report. Each full_stack_audit now generates .codemax/REPORT.md with health dashboard, trend graphs, fix log, and API contract map. 88 passing tests across 5 suites. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 529d748 commit 18366e8

File tree

11 files changed

+1453
-9
lines changed

11 files changed

+1453
-9
lines changed

.github/workflows/ci.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
node-version: [18, 20, 22]
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Use Node.js ${{ matrix.node-version }}
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: ${{ matrix.node-version }}
23+
24+
- name: Install dependencies
25+
run: npm ci
26+
27+
- name: Build
28+
run: npm run build
29+
30+
- name: Run tests
31+
run: npm test
32+
33+
- name: Type check
34+
run: npm run lint

.github/workflows/release.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
publish:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- uses: actions/setup-node@v4
17+
with:
18+
node-version: 20
19+
registry-url: https://registry.npmjs.org/
20+
21+
- name: Install dependencies
22+
run: npm ci
23+
24+
- name: Build
25+
run: npm run build
26+
27+
- name: Run tests
28+
run: npm test
29+
30+
- name: Publish to npm
31+
run: npm publish
32+
env:
33+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
34+
35+
- name: Create GitHub Release
36+
uses: softprops/action-gh-release@v2
37+
with:
38+
generate_release_notes: true

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Changelog
22

3+
## [1.1.0] - 2026-03-29
4+
5+
### Added
6+
- **Issue lifecycle ledger** — persistent tracking of every issue across scans with deterministic fingerprinting. Issues transition through `open → fixed → regressed` automatically.
7+
- **Living REPORT.md** — auto-generated Markdown report at `.codemax/REPORT.md` with health dashboard, trend graphs, open issues with evidence, fix log, regression history, and API contract map. Readable by any developer without running CodeMax.
8+
- **Health trend tracking** — audit snapshots stored over time, showing health score progression across up to 50 scans.
9+
- **Regression detection** — previously fixed issues that reappear are automatically flagged as regressions with full history.
10+
- **Fix logging**`log_fix` tool to document *how* an issue was resolved, recorded in the ledger and REPORT.md.
11+
- **Issue acknowledgment**`acknowledge_issue` tool to mark intentional/acceptable issues so they don't clutter action items.
12+
13+
### New Tools (4)
14+
- `get_history` — audit trail with health trend, issue lifecycle, and scan statistics
15+
- `log_fix` — manually document how an issue was resolved
16+
- `acknowledge_issue` — mark issues as intentional/acceptable
17+
- `get_report` — read the generated `.codemax/REPORT.md`
18+
19+
### Changed
20+
- `full_stack_audit` now automatically persists results to `.codemax/ledger.json` and generates `.codemax/REPORT.md`
21+
- Audit summary now includes a "Changes Since Last Scan" section showing new issues, fixes, and regressions
22+
- Auto-adds `.codemax/` to project `.gitignore`
23+
24+
---
25+
326
## [1.0.0] - 2026-03-28
427

528
### Added

README.md

Lines changed: 77 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
77
[![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org)
88
[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://www.typescriptlang.org)
9-
[![Tools](https://img.shields.io/badge/MCP_Tools-9-purple)]()
9+
[![Tools](https://img.shields.io/badge/MCP_Tools-13-purple)]()
1010

1111
---
1212

@@ -122,6 +122,15 @@ CodeMax detects cross-stack issues that frontend-only or backend-only tools stru
122122
| `map_dependencies` | Map all connections between frontend files and backend routes. Find orphans and phantoms. |
123123
| `check_env` | Cross-reference .env files against actual usage in frontend and backend code. |
124124

125+
### Documentation & History
126+
127+
| Tool | Description |
128+
|------|-------------|
129+
| `get_history` | Audit trail — health trend over time, issue lifecycle (new, fixed, regressed), scan statistics. Filter by status. |
130+
| `log_fix` | Document how a specific issue was resolved. Recorded in the ledger and appears in REPORT.md. |
131+
| `acknowledge_issue` | Mark an issue as intentional/acceptable. Won't be flagged as action items in future reports. |
132+
| `get_report` | Read the living REPORT.md — all issues, fixes, trends, and contract maps in one document. |
133+
125134
### Individual Scans
126135

127136
| Tool | Description |
@@ -194,6 +203,61 @@ Overall: B (78/100)
194203

195204
---
196205

206+
## Project Documentation (`.codemax/`)
207+
208+
Every audit automatically persists results to a `.codemax/` directory in your project. This gives your team a living audit trail without needing to run CodeMax themselves.
209+
210+
```
211+
.codemax/
212+
├── ledger.json # Issue lifecycle tracking (all issues, ever)
213+
└── REPORT.md # Human-readable living document
214+
```
215+
216+
### REPORT.md
217+
218+
A Markdown file any developer can read — no tools needed. Updated on every `full_stack_audit`:
219+
220+
- **Health Dashboard** — current scores across all 6 dimensions
221+
- **Health Trend** — score over time, so you can see if things are improving
222+
- **Latest Scan Changes** — what's new, what's fixed, what regressed
223+
- **Open Issues** — every issue with evidence, code snippets, and fix suggestions
224+
- **Fix Log** — table of everything that was resolved, when, and how
225+
- **Regression History** — issues that were fixed but came back
226+
- **API Contract Map** — full frontend-to-backend connection table
227+
- **Project Structure** — detected frameworks, ORM, paths
228+
229+
### Issue Lifecycle
230+
231+
Issues are tracked through their lifecycle across scans:
232+
233+
```
234+
Discovered ──► open ──► fixed (disappears from next scan)
235+
│ │
236+
▼ ▼
237+
acknowledged regressed (comes back)
238+
(intentional) │
239+
240+
fixed (again)
241+
```
242+
243+
- **Auto-detection**: Issues are automatically marked `fixed` when they disappear from a scan
244+
- **Manual logging**: Use `log_fix` to document *how* something was resolved
245+
- **Regression tracking**: If a fixed issue reappears, it's flagged as `regressed`
246+
- **Deterministic fingerprints**: Same issue = same fingerprint, even if line numbers shift
247+
248+
### Example Workflow
249+
250+
```
251+
1. Run `full_stack_audit` → finds 8 issues, creates .codemax/REPORT.md
252+
2. Fix 3 issues in your code
253+
3. Run `full_stack_audit` again → auto-detects 3 fixes, finds 1 new issue
254+
4. Use `log_fix CTR-X-a1b2c3 "Added Zod validation to POST /api/users"` → records the how
255+
5. Use `acknowledge_issue DEP-B-d4e5f6` → dead endpoint is intentional (consumed by mobile app)
256+
6. Open .codemax/REPORT.md → full audit trail, readable by anyone
257+
```
258+
259+
---
260+
197261
## Example Output
198262

199263
### `full_stack_audit`
@@ -324,25 +388,29 @@ npm test
324388
```
325389
src/
326390
├── index.ts # Entry point (stdio transport)
327-
├── server.ts # MCP server + 9 tool registrations
391+
├── server.ts # MCP server + 13 tool registrations
328392
├── types.ts # Shared type definitions
329393
├── analyzers/
330394
│ ├── project-detector.ts # Framework, monorepo, ORM detection
331395
│ ├── frontend-scanner.ts # API call extraction (fetch, axios, SWR, etc.)
332396
│ ├── backend-scanner.ts # Route extraction (Next.js, Express, etc.)
333397
│ └── env-analyzer.ts # Environment variable cross-referencing
334398
├── bridge/
335-
│ ├── orchestrator.ts # Full audit coordination
399+
│ ├── orchestrator.ts # Full audit coordination + ledger integration
336400
│ ├── contract-analyzer.ts # Frontend ↔ backend contract comparison
337401
│ ├── correlator.ts # Cross-stack issue detection
338402
│ └── health-scorer.ts # 6-dimension health scoring
403+
├── tools/
404+
│ ├── ledger-manager.ts # Issue lifecycle tracking (fingerprint, fix, regress)
405+
│ └── report-writer.ts # Living REPORT.md generation
339406
├── utils/
340407
│ └── helpers.ts # URL normalization, scoring, formatting
341408
└── __tests__/
342409
├── helpers.test.ts # Unit tests for utilities
343410
├── project-detector.test.ts # Project detection tests
344411
├── contract-analyzer.test.ts# Contract analysis tests
345-
└── scanners.test.ts # Frontend + backend scanner tests
412+
├── scanners.test.ts # Frontend + backend scanner tests
413+
└── ledger.test.ts # Ledger lifecycle tests
346414
```
347415

348416
---
@@ -371,6 +439,11 @@ Contributions welcome. [Open an issue](https://github.com/rish-e/codemax/issues)
371439
- [x] Server Actions support
372440
- [x] Environment variable cross-referencing
373441
- [x] Health scoring (6 dimensions)
442+
- [x] Issue lifecycle ledger (open → fixed → regressed)
443+
- [x] Living REPORT.md documentation
444+
- [x] Fix logging with descriptions
445+
- [x] Health trend tracking across audits
446+
- [x] Regression detection
374447
- [ ] GraphQL schema ↔ query contract analysis
375448
- [ ] tRPC router ↔ client contract analysis
376449
- [ ] Auto-fix engine (generate patches for common issues)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "codemax",
3-
"version": "1.0.0",
3+
"version": "1.1.0",
44
"description": "The full-stack MCP that bridges frontend and backend analysis — sees what single-side tools miss.",
55
"type": "module",
66
"main": "dist/index.js",

0 commit comments

Comments
 (0)