auditor-lambda 0.2.6 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -7
- package/audit-code-wrapper-lib.mjs +1605 -330
- package/dist/adapters/eslint.js +9 -5
- package/dist/cli.d.ts +42 -1
- package/dist/cli.js +192 -80
- package/dist/coverage.d.ts +2 -2
- package/dist/coverage.js +5 -5
- package/dist/extractors/bucketing.d.ts +4 -0
- package/dist/extractors/bucketing.js +6 -2
- package/dist/extractors/disposition.d.ts +4 -0
- package/dist/extractors/disposition.js +15 -2
- package/dist/extractors/fileInventory.js +24 -28
- package/dist/extractors/flows.d.ts +5 -0
- package/dist/extractors/flows.js +25 -39
- package/dist/extractors/pathPatterns.d.ts +13 -3
- package/dist/extractors/pathPatterns.js +116 -53
- package/dist/extractors/risk.js +7 -1
- package/dist/extractors/surfaces.d.ts +4 -0
- package/dist/extractors/surfaces.js +11 -11
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/io/artifacts.d.ts +59 -44
- package/dist/io/artifacts.js +80 -120
- package/dist/io/json.d.ts +2 -0
- package/dist/io/json.js +65 -19
- package/dist/io/runArtifacts.d.ts +2 -1
- package/dist/io/runArtifacts.js +44 -7
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +579 -0
- package/dist/orchestrator/advance.js +84 -56
- package/dist/orchestrator/dependencyMap.js +9 -13
- package/dist/orchestrator/executors.js +7 -2
- package/dist/orchestrator/flowCoverage.js +11 -5
- package/dist/orchestrator/flowPlanning.d.ts +7 -2
- package/dist/orchestrator/flowPlanning.js +46 -21
- package/dist/orchestrator/flowRequeue.js +29 -9
- package/dist/orchestrator/internalExecutors.d.ts +2 -1
- package/dist/orchestrator/internalExecutors.js +130 -69
- package/dist/orchestrator/planning.js +25 -3
- package/dist/orchestrator/requeue.js +20 -5
- package/dist/orchestrator/resultIngestion.js +5 -6
- package/dist/orchestrator/runtimeValidation.d.ts +7 -2
- package/dist/orchestrator/runtimeValidation.js +61 -49
- package/dist/orchestrator/runtimeValidationUpdate.js +2 -4
- package/dist/orchestrator/state.js +18 -13
- package/dist/orchestrator/taskBuilder.d.ts +4 -2
- package/dist/orchestrator/taskBuilder.js +153 -52
- package/dist/orchestrator/trivialAudit.js +8 -5
- package/dist/orchestrator/unitBuilder.d.ts +3 -1
- package/dist/orchestrator/unitBuilder.js +24 -16
- package/dist/prompts/renderWorkerPrompt.d.ts +1 -1
- package/dist/prompts/renderWorkerPrompt.js +19 -10
- package/dist/providers/claudeCodeProvider.d.ts +4 -1
- package/dist/providers/claudeCodeProvider.js +8 -5
- package/dist/providers/localSubprocessProvider.d.ts +4 -0
- package/dist/providers/localSubprocessProvider.js +7 -2
- package/dist/providers/spawnLoggedCommand.d.ts +9 -1
- package/dist/providers/spawnLoggedCommand.js +77 -29
- package/dist/reporting/mergeFindings.js +0 -11
- package/dist/reporting/synthesis.d.ts +26 -21
- package/dist/reporting/synthesis.js +97 -61
- package/dist/reporting/workBlocks.d.ts +12 -3
- package/dist/reporting/workBlocks.js +124 -70
- package/dist/supervisor/operatorHandoff.js +48 -18
- package/dist/supervisor/runLedger.d.ts +1 -1
- package/dist/supervisor/runLedger.js +112 -5
- package/dist/supervisor/sessionConfig.js +10 -10
- package/dist/types/externalAnalyzer.d.ts +3 -0
- package/dist/types/flowCoverage.d.ts +5 -1
- package/dist/types/flowCoverage.js +5 -1
- package/dist/types/flows.d.ts +6 -0
- package/dist/types/flows.js +1 -1
- package/dist/types/runLedger.d.ts +5 -1
- package/dist/types/runLedger.js +6 -1
- package/dist/types/runtimeValidation.d.ts +13 -3
- package/dist/types/runtimeValidation.js +16 -1
- package/dist/types/sessionConfig.d.ts +15 -2
- package/dist/types/sessionConfig.js +15 -1
- package/dist/types/surfaces.d.ts +4 -1
- package/dist/types/surfaces.js +1 -1
- package/dist/types/workerSession.d.ts +9 -0
- package/dist/types/workerSession.js +5 -1
- package/dist/types.d.ts +4 -7
- package/dist/validation/artifacts.d.ts +1 -1
- package/dist/validation/artifacts.js +33 -20
- package/dist/validation/auditResults.d.ts +2 -2
- package/dist/validation/auditResults.js +71 -114
- package/dist/validation/basic.d.ts +9 -1
- package/dist/validation/basic.js +40 -3
- package/dist/validation/sessionConfig.d.ts +4 -2
- package/dist/validation/sessionConfig.js +62 -15
- package/docs/agent-integrations.md +67 -38
- package/docs/artifacts.md +16 -56
- package/docs/bootstrap-install.md +60 -30
- package/docs/contract.md +22 -205
- package/docs/next-steps.md +76 -44
- package/docs/packaging.md +27 -3
- package/docs/product-direction.md +22 -0
- package/docs/production-launch-bar.md +4 -2
- package/docs/production-readiness.md +9 -5
- package/docs/releasing.md +98 -0
- package/docs/remediation-baseline.md +75 -0
- package/docs/run-flow.md +23 -11
- package/docs/session-config.md +50 -5
- package/docs/supervisor.md +7 -0
- package/docs/workflow-refactor-brief.md +177 -0
- package/package.json +4 -1
- package/schemas/audit_result.schema.json +8 -7
- package/schemas/audit_task.schema.json +3 -1
- package/schemas/coverage_matrix.schema.json +3 -3
- package/schemas/critical_flows.schema.json +6 -2
- package/schemas/file_disposition.schema.json +2 -2
- package/schemas/finding.schema.json +9 -4
- package/schemas/flow_coverage.schema.json +2 -2
- package/schemas/repo_manifest.schema.json +4 -4
- package/schemas/risk_register.schema.json +2 -2
- package/schemas/runtime_validation_report.schema.json +3 -3
- package/schemas/runtime_validation_tasks.schema.json +8 -2
- package/schemas/surface_manifest.schema.json +6 -3
- package/schemas/unit_manifest.schema.json +3 -2
- package/skills/audit-code/SKILL.md +16 -2
- package/skills/audit-code/audit-code.prompt.md +5 -8
- package/schemas/merged_findings.schema.json +0 -19
- package/schemas/root_cause_clusters.schema.json +0 -28
- package/schemas/synthesis_report.schema.json +0 -61
package/docs/contract.md
CHANGED
|
@@ -1,59 +1,12 @@
|
|
|
1
|
-
# audit-code
|
|
1
|
+
# audit-code Response Contract
|
|
2
2
|
|
|
3
|
-
This document
|
|
3
|
+
This document follows [audit-goals.md](C:/Code/auditor-lambda/spec/audit-goals.md).
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Canonical output
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The authoritative completed-audit output is repo-root `audit-report.md`.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
audit-code
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
Useful helpers:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
audit-code prompt-path
|
|
19
|
-
audit-code validate
|
|
20
|
-
audit-code explain-task <task_id>
|
|
21
|
-
audit-code --batch-results /path/to/audit-results-dir
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Repository-local wrapper equivalent:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
node audit-code.mjs
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Contract version
|
|
31
|
-
|
|
32
|
-
Every canonical wrapper response includes:
|
|
33
|
-
|
|
34
|
-
```text
|
|
35
|
-
contract_version: audit-code/v1alpha1
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Consumers should verify this value before assuming the response shape.
|
|
39
|
-
|
|
40
|
-
## Source of truth
|
|
41
|
-
|
|
42
|
-
The versioned wrapper schema is:
|
|
43
|
-
|
|
44
|
-
```text
|
|
45
|
-
schemas/audit-code-v1alpha1.schema.json
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Artifact-level schemas also live in `schemas/`, including:
|
|
49
|
-
|
|
50
|
-
- `schemas/audit_task.schema.json`
|
|
51
|
-
- `schemas/audit_result.schema.json`
|
|
52
|
-
- `schemas/finding.schema.json`
|
|
53
|
-
|
|
54
|
-
## Top-level wrapper fields
|
|
55
|
-
|
|
56
|
-
The current v1alpha1 wrapper contract includes:
|
|
9
|
+
Until completion, the wrapper response remains a JSON envelope with:
|
|
57
10
|
|
|
58
11
|
- `contract_version`
|
|
59
12
|
- `audit_state`
|
|
@@ -65,167 +18,31 @@ The current v1alpha1 wrapper contract includes:
|
|
|
65
18
|
- `next_likely_step`
|
|
66
19
|
- `handoff`
|
|
67
20
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
- repo and artifacts paths
|
|
71
|
-
- pending obligations
|
|
72
|
-
- suggested evidence-import paths and commands
|
|
73
|
-
- provider guidance
|
|
74
|
-
- stable paths to operator handoff artifacts
|
|
75
|
-
|
|
76
|
-
## Terminal states
|
|
77
|
-
|
|
78
|
-
Consumers should continue invoking the same wrapper until:
|
|
79
|
-
|
|
80
|
-
1. `next_likely_step == null`
|
|
21
|
+
## AuditResult contract
|
|
81
22
|
|
|
82
|
-
|
|
23
|
+
Workers submit `AuditResult[]` shaped by `schemas/audit_result.schema.json`.
|
|
83
24
|
|
|
84
|
-
|
|
85
|
-
- `audit_state.status == "blocked"` means no further automatic progress is available and the remaining work needs imported results or an interactive provider.
|
|
86
|
-
- `progress_made` tells you whether the current invocation wrote additional artifacts before it reached that terminal state.
|
|
25
|
+
Important rules:
|
|
87
26
|
|
|
88
|
-
|
|
27
|
+
- `file_coverage` is required and must include every assigned file.
|
|
28
|
+
- `file_coverage[].total_lines` must match the current file line count.
|
|
29
|
+
- `findings[].affected_files` must be objects, not strings.
|
|
30
|
+
- `findings[].evidence` must be an array of plain strings.
|
|
89
31
|
|
|
90
|
-
|
|
91
|
-
|
|
32
|
+
Use `audit-code validate-results --results <file>` before ingestion to validate
|
|
33
|
+
results against the active task manifest.
|
|
92
34
|
|
|
93
|
-
##
|
|
35
|
+
## Internal artifacts during incomplete runs
|
|
94
36
|
|
|
95
|
-
|
|
37
|
+
The engine may keep resumable artifacts under `.audit-artifacts/`, including:
|
|
96
38
|
|
|
97
|
-
-
|
|
98
|
-
- `file_disposition.json`
|
|
99
|
-
- `unit_manifest.json`
|
|
100
|
-
- `critical_flows.json`
|
|
101
|
-
- `coverage_matrix.json`
|
|
102
|
-
- `runtime_validation_tasks.json`
|
|
103
|
-
- `runtime_validation_report.json`
|
|
39
|
+
- intake/structure/planning artifacts
|
|
104
40
|
- `audit_tasks.json`
|
|
105
41
|
- `audit_results.jsonl`
|
|
106
42
|
- `requeue_tasks.json`
|
|
107
|
-
- `
|
|
108
|
-
- `
|
|
109
|
-
-
|
|
110
|
-
|
|
111
|
-
Important shape notes:
|
|
112
|
-
|
|
113
|
-
- `audit_tasks.json`: each task already contains its resolved `file_paths`.
|
|
114
|
-
- `coverage_matrix.json`: each file records `classification_status`, `audit_status`, `required_lenses`, and `completed_lenses`.
|
|
115
|
-
- `synthesis_report.json`: includes `merged_findings`, semantic `root_cause_clusters`, and `work_blocks`.
|
|
116
|
-
|
|
117
|
-
## Task id conventions
|
|
118
|
-
|
|
119
|
-
Current task ids follow a few stable patterns:
|
|
120
|
-
|
|
121
|
-
- Standard unit/lens task: `<unit_id>:<lens>`
|
|
122
|
-
- Large-file split task: `<unit_id>:<lens>:<file_path>`
|
|
123
|
-
- External analyzer follow-up: `analyzer:<tool>:<lens>:<path>:<result_id>`
|
|
124
|
-
- Requeue task: `requeue:<lens>:<path>`
|
|
125
|
-
|
|
126
|
-
If you need the resolved task payload plus current coverage state, use:
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
audit-code explain-task <task_id>
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
## AuditResult contract
|
|
133
|
-
|
|
134
|
-
`AuditResult.findings[].evidence` is an array of plain strings only. Use entries like:
|
|
135
|
-
|
|
136
|
-
```text
|
|
137
|
-
src/foo.ts:42 - variable overwritten before use
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
`reviewed_ranges` now carries mechanical verification metadata:
|
|
141
|
-
|
|
142
|
-
- `path`
|
|
143
|
-
- `start`
|
|
144
|
-
- `end`
|
|
145
|
-
- `line_count`
|
|
146
|
-
|
|
147
|
-
`line_count` must match the current total line count of the file. Ingestion also checks that any cited `affected_files` line span falls inside the declared `reviewed_ranges`.
|
|
148
|
-
|
|
149
|
-
Worked example:
|
|
150
|
-
|
|
151
|
-
```json
|
|
152
|
-
[
|
|
153
|
-
{
|
|
154
|
-
"task_id": "src-api-auth:security",
|
|
155
|
-
"unit_id": "src-api-auth",
|
|
156
|
-
"pass_id": "pass:security",
|
|
157
|
-
"lens": "security",
|
|
158
|
-
"agent_role": "security-auditor",
|
|
159
|
-
"reviewed_ranges": [
|
|
160
|
-
{
|
|
161
|
-
"path": "src/api/auth.ts",
|
|
162
|
-
"start": 1,
|
|
163
|
-
"end": 48,
|
|
164
|
-
"line_count": 48
|
|
165
|
-
}
|
|
166
|
-
],
|
|
167
|
-
"findings": [
|
|
168
|
-
{
|
|
169
|
-
"id": "finding-auth-1",
|
|
170
|
-
"title": "Authentication failures are not logged",
|
|
171
|
-
"category": "security",
|
|
172
|
-
"severity": "medium",
|
|
173
|
-
"confidence": "high",
|
|
174
|
-
"lens": "security",
|
|
175
|
-
"summary": "Rejected authentication attempts bypass structured audit logging.",
|
|
176
|
-
"affected_files": [
|
|
177
|
-
{
|
|
178
|
-
"path": "src/api/auth.ts",
|
|
179
|
-
"line_start": 18,
|
|
180
|
-
"line_end": 26
|
|
181
|
-
}
|
|
182
|
-
],
|
|
183
|
-
"evidence": [
|
|
184
|
-
"src/api/auth.ts:18 - failure branch returns without emitting audit telemetry"
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
],
|
|
188
|
-
"notes": [
|
|
189
|
-
"Reviewed the entire file under the security lens."
|
|
190
|
-
],
|
|
191
|
-
"requires_followup": false
|
|
192
|
-
}
|
|
193
|
-
]
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Workers should validate against these schemas before submission instead of discovering shape errors during ingestion.
|
|
197
|
-
|
|
198
|
-
## Audit state shape
|
|
199
|
-
|
|
200
|
-
`audit_state` includes:
|
|
201
|
-
|
|
202
|
-
- `status`
|
|
203
|
-
- `obligations`
|
|
204
|
-
- optional `last_executor`
|
|
205
|
-
- optional `last_obligation`
|
|
206
|
-
- optional `blockers`
|
|
207
|
-
|
|
208
|
-
`status` is one of:
|
|
209
|
-
|
|
210
|
-
- `not_started`
|
|
211
|
-
- `active`
|
|
212
|
-
- `blocked`
|
|
213
|
-
- `complete`
|
|
214
|
-
|
|
215
|
-
Each obligation includes:
|
|
216
|
-
|
|
217
|
-
- `id`
|
|
218
|
-
- `state`
|
|
219
|
-
- optional `reason`
|
|
220
|
-
|
|
221
|
-
Obligation `state` is one of:
|
|
222
|
-
|
|
223
|
-
- `missing`
|
|
224
|
-
- `present`
|
|
225
|
-
- `stale`
|
|
226
|
-
- `blocked`
|
|
227
|
-
- `satisfied`
|
|
228
|
-
|
|
229
|
-
## Compatibility note
|
|
43
|
+
- `runtime_validation_tasks.json`
|
|
44
|
+
- `runtime_validation_report.json` when runtime validation is planned
|
|
45
|
+
- dispatch files for the active worker task
|
|
230
46
|
|
|
231
|
-
|
|
47
|
+
These artifacts are internal and transient. On successful completion, they are
|
|
48
|
+
cleared out and only `audit-report.md` remains.
|
package/docs/next-steps.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This document tracks the next meaningful implementation work after the current skill-first productionization pass.
|
|
4
4
|
|
|
5
|
-
As of April
|
|
5
|
+
As of April 22, 2026, the shared MCP substrate and the first host-native installer pass have landed, but this repository is not yet ready for a public production launch.
|
|
6
6
|
|
|
7
7
|
See:
|
|
8
8
|
|
|
@@ -15,45 +15,68 @@ The repository now supports:
|
|
|
15
15
|
- `/audit-code` as the documented canonical product route
|
|
16
16
|
- packaged and repository-local access to `skills/audit-code/audit-code.prompt.md`
|
|
17
17
|
- `audit-code prompt-path` as a stable prompt lookup helper
|
|
18
|
-
- `audit-code install` as a bootstrap installer for the
|
|
18
|
+
- `audit-code install --host vscode|opencode|codex|claude-desktop|antigravity|all` as a bootstrap installer for the current host surfaces
|
|
19
|
+
- `audit-code mcp` as a first-class stdio MCP server entrypoint
|
|
20
|
+
- a stable MCP contract with the `start_audit`, `get_status`, `continue_audit`, `explain_task`, `validate_artifacts`, `import_results`, and `import_runtime_updates` tools
|
|
21
|
+
- repo-local MCP resources for current artifacts, operator handoff, install guidance, and the current audit report
|
|
22
|
+
- repo-local MCP prompts for `audit-code`, `review-task`, and `synthesize-report`
|
|
23
|
+
- generated `.audit-code/install/manifest.json` plus a shared repo-local MCP launcher script
|
|
24
|
+
- Codex install assets including a repo skill bundle, `AGENTS.md` support, MCP setup guidance, and an automation recipe
|
|
25
|
+
- Claude Desktop install assets including a project template, remote connector template, and generated local bundle artifacts
|
|
26
|
+
- OpenCode install assets including command, skill, prompt, and `opencode.json` support
|
|
27
|
+
- VS Code install assets including prompt file, Copilot instructions, custom agent, and `.vscode/mcp.json`
|
|
28
|
+
- Antigravity install assets including planning-mode guidance and MCP-oriented setup guidance
|
|
19
29
|
- explicit failures for malformed backend config and corrupted artifact JSON
|
|
20
30
|
- `audit-code validate` as a machine-readable backend operator check
|
|
21
31
|
- an explicit in-repo release gate via `npm run verify:release`
|
|
22
32
|
- structured operator handoff output plus `.audit-artifacts/operator-handoff.{json,md}` for blocked fallback runs
|
|
23
33
|
- configured provider bridges that can continue audit-task review by writing structured results and handing control back to the bounded worker command
|
|
24
34
|
|
|
25
|
-
That means the current release is suitable for a controlled alpha or beta skill-first workflow, but it is not yet the final public production end-state.
|
|
35
|
+
That means the current release is suitable for a controlled alpha or beta skill-first workflow with MCP-aware host bootstrapping, but it is not yet the final public production end-state.
|
|
26
36
|
|
|
27
37
|
## Near-term priorities
|
|
28
38
|
|
|
29
|
-
### 1.
|
|
39
|
+
### 1. Realign review dispatch with the conversation-owned workflow
|
|
30
40
|
|
|
31
|
-
The
|
|
41
|
+
The highest-priority product refactor is to move semantic-review ownership back to the active conversation agent and to replace the current unit-first review fan-out with non-overlapping lens-aware review blocks.
|
|
32
42
|
|
|
33
43
|
Near-term work should focus on:
|
|
34
44
|
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
45
|
+
- making the active conversation agent the default owner of semantic review
|
|
46
|
+
- keeping `agent_task_batch_size` at one review block per task
|
|
47
|
+
- treating backend provider adapters as compatibility bridges rather than the default review owner
|
|
48
|
+
- replacing the current unit-first task planner with a non-overlapping lens-block planner
|
|
49
|
+
- deleting the stale audit state and rerunning the audit only after that refactor lands
|
|
39
50
|
|
|
40
|
-
|
|
51
|
+
The current handoff for this work is:
|
|
41
52
|
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
- avoid spending near-term effort on lower-priority editor integrations unless they materially improve the shared prompt-import path
|
|
53
|
+
- `docs/workflow-refactor-brief.md`
|
|
54
|
+
- `docs/remediation-baseline.md`
|
|
45
55
|
|
|
46
|
-
### 2.
|
|
56
|
+
### 2. Verify the shipped host integrations end to end
|
|
47
57
|
|
|
48
|
-
The
|
|
58
|
+
The biggest remaining gap is not raw feature presence anymore. It is host-by-host proof that the generated assets work in the actual products they target.
|
|
49
59
|
|
|
50
60
|
Near-term work should focus on:
|
|
51
61
|
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
62
|
+
- verifying the Codex skill bundle, `AGENTS.md`, MCP setup guidance, and automation recipe against the real Codex app flow
|
|
63
|
+
- installing and smoke-testing the generated Claude Desktop `DXT` or bundle output in a real Desktop environment
|
|
64
|
+
- validating that the OpenCode `opencode.json` shape, command file, and MCP config match current OpenCode behavior
|
|
65
|
+
- validating the VS Code prompt, agent, and `.vscode/mcp.json` flow inside a real workspace
|
|
66
|
+
- validating that the Antigravity planning-mode guidance is accurate and does not over-promise a native saved-workflow surface
|
|
55
67
|
|
|
56
|
-
### 3.
|
|
68
|
+
### 3. Close the remaining host-native UX gaps
|
|
69
|
+
|
|
70
|
+
The product goal is still conversational first, not fallback-CLI first, and some shipped surfaces are still guidance-heavy rather than truly native.
|
|
71
|
+
|
|
72
|
+
Near-term work should focus on:
|
|
73
|
+
|
|
74
|
+
- turning the Codex automation recipe into a proven, documented automation flow after real operator validation
|
|
75
|
+
- polishing Claude Desktop one-click install so the generated bundle is a clearly supported path instead of a mostly technical artifact
|
|
76
|
+
- deciding whether OpenCode and VS Code need any smaller UX refinements after smoke-testing, rather than assuming the first generated surfaces are final
|
|
77
|
+
- keeping Antigravity framed as a workflow-and-artifacts host until Google documents a stable project-local config surface
|
|
78
|
+
|
|
79
|
+
### 4. Polish continuation through assisted review
|
|
57
80
|
|
|
58
81
|
The repo-local backend fallback still intentionally stops in blocked state under `local-subprocess`, but configured provider bridges can now continue the audit-task review phase automatically.
|
|
59
82
|
|
|
@@ -63,32 +86,35 @@ Near-term work should focus on:
|
|
|
63
86
|
- less operator guesswork when a configured provider fails to return usable results
|
|
64
87
|
- stronger host-specific guidance for provider-assisted bridges
|
|
65
88
|
|
|
66
|
-
###
|
|
89
|
+
### 5. Harden publish and release operations
|
|
67
90
|
|
|
68
91
|
The packaged install story is in place, but release operations still need finishing work.
|
|
69
92
|
|
|
70
93
|
Near-term work should focus on:
|
|
71
94
|
|
|
72
95
|
- npm package-name availability and ownership
|
|
73
|
-
-
|
|
96
|
+
- one-time npm Trusted Publisher setup for `.github/workflows/publish-package.yml`
|
|
97
|
+
- the first GitHub Actions dry run and live publish through that workflow
|
|
98
|
+
- keeping prerelease publication off the `latest` dist-tag unless intentionally requested
|
|
74
99
|
- keeping linked-install and packaged-install smoke checks as release gates
|
|
75
100
|
|
|
76
101
|
## Frictionless-ready checklist
|
|
77
102
|
|
|
78
103
|
The repository should not be described as frictionless and production-ready until this checklist is substantially true:
|
|
79
104
|
|
|
80
|
-
###
|
|
105
|
+
### Codex, Claude Desktop, OpenCode, and VS Code
|
|
81
106
|
|
|
82
107
|
- `audit-code install` remains the default bootstrap path
|
|
83
108
|
- the generated repo-local surfaces are obvious in installer output and in `.audit-code/install/GETTING-STARTED.md`
|
|
84
109
|
- a new user can invoke `/audit-code` without guessing where prompts or commands were written
|
|
110
|
+
- the generated MCP setup path works in the real host, not only in unit tests
|
|
85
111
|
- smoke coverage continues to verify the exact repo-local files these hosts consume
|
|
86
112
|
|
|
87
|
-
###
|
|
113
|
+
### Antigravity
|
|
88
114
|
|
|
89
|
-
- the
|
|
90
|
-
- `.audit-code/install/GETTING-STARTED.md` gives
|
|
91
|
-
- docs avoid implying native repo-local
|
|
115
|
+
- the planning-mode guidance is explicit, repo-local, and easy to discover
|
|
116
|
+
- `.audit-code/install/GETTING-STARTED.md` gives Antigravity-specific steps instead of generic prompt-import advice
|
|
117
|
+
- docs avoid implying native repo-local saved-workflow support that is not actually shipped
|
|
92
118
|
- the backend fallback remains a clearly secondary path instead of the default recommendation
|
|
93
119
|
|
|
94
120
|
### Assisted review continuation
|
|
@@ -99,27 +125,28 @@ The repository should not be described as frictionless and production-ready unti
|
|
|
99
125
|
### Release operations
|
|
100
126
|
|
|
101
127
|
- `npm run verify:release` remains green and authoritative
|
|
102
|
-
- the real publish path is proven with npm ownership,
|
|
128
|
+
- the real publish path is proven with npm ownership, npm Trusted Publishing, and a real GitHub Actions dry run or prerelease publish
|
|
103
129
|
|
|
104
130
|
## Probable next steps
|
|
105
131
|
|
|
106
132
|
These are the most likely next implementation steps based on the current codebase state, but they should still be treated as provisional rather than guaranteed:
|
|
107
133
|
|
|
108
|
-
### 1.
|
|
134
|
+
### 1. Prove the host installers in real products
|
|
109
135
|
|
|
110
136
|
Status:
|
|
111
137
|
|
|
112
|
-
- completed
|
|
138
|
+
- partially completed in code, not yet fully validated operationally
|
|
113
139
|
|
|
114
|
-
|
|
140
|
+
Most likely shape:
|
|
115
141
|
|
|
116
|
-
-
|
|
142
|
+
- run fresh-repo smoke checks inside Codex, Claude Desktop, OpenCode, and VS Code
|
|
143
|
+
- confirm that the generated files are both syntactically valid and actually discovered by each host
|
|
144
|
+
- tighten generated docs wherever operator confusion appears during those checks
|
|
145
|
+
- keep Antigravity as a documented planning-mode path unless a stable project config contract is published
|
|
117
146
|
|
|
118
|
-
|
|
147
|
+
Practical success bar:
|
|
119
148
|
|
|
120
|
-
-
|
|
121
|
-
- document the exact install and verification path for hosts that still need extra handling
|
|
122
|
-
- only claim native support for a host once its install surface is equally concrete and testable
|
|
149
|
+
- a new operator can run one install command and reach a working `/audit-code` or MCP-backed flow in each claimed host without guesswork
|
|
123
150
|
|
|
124
151
|
### 2. Harden configured interactive-provider continuation
|
|
125
152
|
|
|
@@ -134,25 +161,30 @@ Practical success bar:
|
|
|
134
161
|
|
|
135
162
|
- a configured provider can continue through audit-task review with good diagnostics and low operator guesswork when something goes wrong
|
|
136
163
|
|
|
137
|
-
### 3.
|
|
164
|
+
### 3. Finish the Claude Desktop and Antigravity follow-through
|
|
138
165
|
|
|
139
166
|
Most likely shape:
|
|
140
167
|
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
168
|
+
- prove the generated Claude Desktop local bundle in a real Desktop install flow
|
|
169
|
+
- decide whether to check in or generate the final desktop-extension packaging metadata more explicitly
|
|
170
|
+
- add remote connector deployment guidance that is specific enough for Team or Enterprise rollout
|
|
171
|
+
- document exactly how Antigravity-produced artifacts should flow back through `import_results` and `import_runtime_updates`
|
|
144
172
|
|
|
145
173
|
Practical success bar:
|
|
146
174
|
|
|
147
|
-
-
|
|
175
|
+
- Claude Desktop and Antigravity guidance is operational, specific, and consistent with what the products really support
|
|
148
176
|
|
|
149
|
-
### 4.
|
|
177
|
+
### 4. Prove the release path outside the repository
|
|
150
178
|
|
|
151
179
|
Most likely shape:
|
|
152
180
|
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
-
|
|
181
|
+
- confirm npm package-name ownership and npm Trusted Publisher configuration
|
|
182
|
+
- run a real GitHub Actions pre-release or dry-run publish
|
|
183
|
+
- keep `npm run verify:release` as the minimum in-repo gate before publish
|
|
184
|
+
|
|
185
|
+
Practical success bar:
|
|
186
|
+
|
|
187
|
+
- the release workflow is demonstrated end to end instead of only being inferred from configuration
|
|
156
188
|
|
|
157
189
|
## Non-goals for the next phase
|
|
158
190
|
|
package/docs/packaging.md
CHANGED
|
@@ -31,6 +31,18 @@ npm install
|
|
|
31
31
|
npm run verify:release
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
For live child-process output during packaged smoke debugging:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
AUDIT_CODE_VERBOSE=1 npm run smoke:packaged-audit-code
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
For the linked-install variant:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
AUDIT_CODE_VERBOSE=1 npm run smoke:linked-audit-code
|
|
44
|
+
```
|
|
45
|
+
|
|
34
46
|
That script:
|
|
35
47
|
|
|
36
48
|
- creates a tarball with `npm pack`
|
|
@@ -41,6 +53,8 @@ That script:
|
|
|
41
53
|
- invokes the installed `audit-code` binary from `node_modules/.bin`
|
|
42
54
|
- validates emitted JSON against `schemas/audit-code-v1alpha1.schema.json`
|
|
43
55
|
- exercises the same evidence-import and completion flow used by the linked-command smoke test
|
|
56
|
+
- strips inherited `npm_config_*`, `NODE_AUTH_TOKEN`, and `NPM_TOKEN` values before nested npm operations so `npm publish --dry-run` does not accidentally suppress tarball generation or leak publish credentials into the smoke environment
|
|
57
|
+
- emits step-by-step progress plus a final success summary so CI logs show where the run failed or completed across both the linked and packaged smoke paths
|
|
44
58
|
|
|
45
59
|
## CI
|
|
46
60
|
|
|
@@ -61,22 +75,32 @@ The release publish gate also runs both installed-entrypoint smoke paths before
|
|
|
61
75
|
The repository now includes packaging metadata and lifecycle hooks intended for registry publication:
|
|
62
76
|
|
|
63
77
|
- `package.json` is no longer marked private
|
|
78
|
+
- `publishConfig.access` defaults publication to the public npm access level
|
|
64
79
|
- package contents are curated with a `files` allowlist that includes the canonical prompt asset
|
|
65
80
|
- `prepack` and `prepare` build the runtime artifact
|
|
66
81
|
- `verify:release` codifies the minimum in-repo release gate
|
|
67
82
|
- `prepublishOnly` now runs that full release gate, including both linked-install and packaged-install smoke validation
|
|
68
83
|
- packaged smoke now verifies the tarball includes `audit-code-wrapper-lib.mjs`, the prompt asset, the response schema, and `dist/` entrypoints before install-time smoke runs
|
|
69
84
|
- the GitHub publish workflow uses the same release gate before `npm publish`
|
|
85
|
+
- the GitHub publish workflow uses npm Trusted Publishing with GitHub OIDC instead of a long-lived publish token
|
|
86
|
+
- prerelease versions now default to the `next` dist-tag in the publish workflow unless an explicit tag override is chosen on manual dispatch
|
|
87
|
+
|
|
88
|
+
## Remaining external release steps
|
|
89
|
+
|
|
90
|
+
Actual publication still depends on npm-side configuration outside the repository:
|
|
70
91
|
|
|
71
|
-
|
|
92
|
+
1. confirm package ownership and intended publish target for `auditor-lambda`
|
|
93
|
+
2. configure npm Trusted Publishing for `.github/workflows/publish-package.yml`
|
|
94
|
+
3. run the first GitHub Actions dry run or live prerelease from that workflow path
|
|
72
95
|
|
|
73
|
-
|
|
96
|
+
The repository-side workflow already pins Node `22.14.0` and upgrades npm to `>=11.5.1`, which is the current minimum combination npm documents for GitHub Actions Trusted Publishing.
|
|
74
97
|
|
|
75
98
|
## Next packaging steps
|
|
76
99
|
|
|
77
100
|
The next implementation phase should focus on:
|
|
78
101
|
|
|
79
|
-
- completing npm
|
|
102
|
+
- completing the one-time npm Trusted Publisher setup
|
|
103
|
+
- proving the GitHub Actions dry-run and live publish path end to end
|
|
80
104
|
- preserving the packaged prompt asset and `audit-code prompt-path` as stable release guarantees
|
|
81
105
|
- preserving `audit-code install` as a packaged-install compatibility guarantee
|
|
82
106
|
- keeping linked-install and packaged-install smoke coverage in the publish gate
|
|
@@ -78,11 +78,32 @@ For repo-local backend usage:
|
|
|
78
78
|
- `provider: "auto"` is the explicit opt-in mode for best-effort routing across configured or detected backends
|
|
79
79
|
- explicit provider names should remain available for operators who want a specific backend
|
|
80
80
|
|
|
81
|
+
## Semantic review ownership
|
|
82
|
+
|
|
83
|
+
The intended semantic-review owner is the active conversation agent.
|
|
84
|
+
|
|
85
|
+
That means:
|
|
86
|
+
|
|
87
|
+
- `/audit-code` should hand review work to the current conversation or host agent session first
|
|
88
|
+
- if that active agent can delegate to subagents in parallel, that fan-out belongs to the host runtime rather than to repo-local backend defaults
|
|
89
|
+
- backend provider adapters are compatibility bridges for fallback CLI usage, not the default owner of review work
|
|
90
|
+
- session-config should not be the normal mechanism for redirecting semantic review into a second external LLM CLI
|
|
91
|
+
|
|
92
|
+
## Task-planning rule
|
|
93
|
+
|
|
94
|
+
The intended review planner should:
|
|
95
|
+
|
|
96
|
+
- determine which files require which lenses
|
|
97
|
+
- partition unresolved review into non-overlapping review blocks
|
|
98
|
+
- prefer lens-homogeneous blocks when practical
|
|
99
|
+
- keep the default dispatch granularity to one review block per task
|
|
100
|
+
|
|
81
101
|
## Default context & model rules
|
|
82
102
|
|
|
83
103
|
1. By default, the current ChatGPT project conversation and its files should be treated as the primary context.
|
|
84
104
|
2. The user should not need to supply `--root`, provider names, or backend-specific settings in normal usage.
|
|
85
105
|
3. For backend CLI delegation, let the chosen provider own its own model-selection behavior unless explicitly configured.
|
|
106
|
+
4. Backend fallback settings should not cap the active conversation agent's own subagent parallelism model.
|
|
86
107
|
|
|
87
108
|
## Development rule
|
|
88
109
|
|
|
@@ -92,6 +113,7 @@ Future development should optimize for the native skill UX first:
|
|
|
92
113
|
- packaged installs should help users reach the prompt asset for that conversation route
|
|
93
114
|
- the CLI and supervisor are implementation details and fallback harnesses
|
|
94
115
|
- provider adapters are backend internals, not the primary product concept
|
|
116
|
+
- semantic-review dispatch belongs to the active conversation agent, not to an externally spawned fallback provider by default
|
|
95
117
|
- docs, tests, and examples should present the skill-first flow before any CLI flow
|
|
96
118
|
|
|
97
119
|
If documentation or implementation details conflict, prefer the skill-first contract above over the CLI-first backend shape.
|
|
@@ -20,6 +20,8 @@ Anything below `dist/index.js` remains a backend or development interface rather
|
|
|
20
20
|
### Node and package runtime
|
|
21
21
|
|
|
22
22
|
- Node `>=20` is the minimum supported runtime from `package.json`
|
|
23
|
+
- GitHub Actions currently exercises the test suite on Node `20` and Node `22`
|
|
24
|
+
- release and publish automation stays pinned to Node `22.14.0`
|
|
23
25
|
- packaged installs must include:
|
|
24
26
|
- `audit-code`
|
|
25
27
|
- `audit-code-wrapper-lib.mjs`
|
|
@@ -61,8 +63,8 @@ npm run verify:release
|
|
|
61
63
|
In addition to the in-repo gate, production readiness still requires these external checks:
|
|
62
64
|
|
|
63
65
|
1. confirm npm package-name ownership and intended publish target
|
|
64
|
-
2.
|
|
65
|
-
3. run a real
|
|
66
|
+
2. configure npm Trusted Publishing for `.github/workflows/publish-package.yml`
|
|
67
|
+
3. run a real GitHub Actions dry run or prerelease publish from that workflow path
|
|
66
68
|
|
|
67
69
|
## Operator validation expectations
|
|
68
70
|
|
|
@@ -2,26 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
## Verdict
|
|
4
4
|
|
|
5
|
-
As of April
|
|
5
|
+
As of April 22, 2026, the package release path is ready for a public npm release candidate, but the broader host experience still has follow-through work before it should be described as a frictionless production launch.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
What is already true:
|
|
8
8
|
|
|
9
9
|
- TypeScript build passes
|
|
10
10
|
- automated test suite passes
|
|
11
11
|
- linked-install smoke coverage passes
|
|
12
12
|
- packaged-install smoke coverage passes
|
|
13
13
|
- packaged tarball contract verification passes
|
|
14
|
+
- `npm run verify:release` passes for the current `0.2.8` worktree
|
|
15
|
+
- local `npm publish --dry-run` passes for `auditor-lambda@0.2.8`
|
|
16
|
+
- npm currently reports `auditor-lambda@0.2.6` as `latest`, so the checked-in release version is still unpublished
|
|
14
17
|
- malformed config and corrupted artifact handling are explicit
|
|
15
18
|
- blocked fallback runs now emit structured operator handoff guidance
|
|
16
19
|
- supported repo-local hosts now share a bootstrap install path via `audit-code install`
|
|
17
20
|
- configured provider-assisted review can now continue to completion in a single wrapper invocation
|
|
21
|
+
- the GitHub publish workflow is configured for Trusted Publishing through GitHub OIDC rather than a long-lived npm token
|
|
18
22
|
|
|
19
|
-
## Why It Is Not Yet Production
|
|
23
|
+
## Why It Is Not Yet A Broad Production Claim
|
|
20
24
|
|
|
21
25
|
The biggest remaining gaps are product and release-operational, not core wrapper correctness:
|
|
22
26
|
|
|
23
27
|
1. npm publication is not fully proven end to end.
|
|
24
|
-
The repo has
|
|
28
|
+
The repo now has a Trusted Publishing workflow and a passing local dry run, but npm-side trusted publisher setup plus the first GitHub Actions dry run still need to be completed outside the codebase.
|
|
25
29
|
2. The primary conversation-first product still has setup friction on hosts without a verified repo-local slash-command surface.
|
|
26
30
|
VS Code / Copilot, OpenCode, and Claude Code now share a bootstrap path, but Claude Desktop, Antigravity, and other hosts still need more work.
|
|
27
31
|
3. Provider-assisted continuation still needs polish outside the happy path.
|
|
@@ -32,7 +36,7 @@ The explicit launch bar is now documented in `docs/production-launch-bar.md`, an
|
|
|
32
36
|
## Required Next Steps
|
|
33
37
|
|
|
34
38
|
1. Confirm release operations externally.
|
|
35
|
-
Validate npm package-name
|
|
39
|
+
Validate npm package-name ownership for `auditor-lambda`, configure npm Trusted Publishing for `.github/workflows/publish-package.yml`, and run a real GitHub Actions dry run or prerelease publish from that workflow path.
|
|
36
40
|
2. Extend bootstrap coverage beyond the currently automated hosts.
|
|
37
41
|
Keep `audit-code install` stable for VS Code / Copilot, OpenCode, and Claude Code, and close the remaining friction gap for hosts that still lack a verified repo-local install surface.
|
|
38
42
|
3. Polish provider-assisted UX.
|