auditor-lambda 0.3.12 → 0.3.14
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 +20 -24
- package/audit-code-wrapper-lib.mjs +52 -53
- package/dist/cli.js +43 -6
- package/dist/coverage.js +3 -1
- package/dist/extractors/disposition.js +8 -1
- package/dist/extractors/graph.d.ts +3 -1
- package/dist/extractors/graph.js +1147 -67
- package/dist/extractors/graphManifestEdges.d.ts +14 -0
- package/dist/extractors/graphManifestEdges.js +1158 -0
- package/dist/extractors/graphPathUtils.d.ts +5 -0
- package/dist/extractors/graphPathUtils.js +75 -0
- package/dist/extractors/pathPatterns.d.ts +1 -0
- package/dist/extractors/pathPatterns.js +3 -0
- package/dist/io/artifacts.d.ts +10 -1
- package/dist/io/artifacts.js +23 -3
- package/dist/orchestrator/internalExecutors.d.ts +4 -0
- package/dist/orchestrator/internalExecutors.js +35 -6
- package/dist/orchestrator/reviewPackets.js +1003 -31
- package/dist/orchestrator/syntaxResolutionExecutor.js +34 -0
- package/dist/types/externalAnalyzer.d.ts +9 -0
- package/dist/types/graph.d.ts +3 -0
- package/dist/types/reviewPlanning.d.ts +39 -0
- package/docs/contracts.md +215 -0
- package/docs/development.md +210 -0
- package/docs/handoff.md +204 -0
- package/docs/history.md +40 -0
- package/docs/operator-guide.md +189 -0
- package/docs/product.md +185 -0
- package/docs/release.md +131 -0
- package/package.json +1 -1
- package/schemas/audit_plan_metrics.schema.json +347 -0
- package/schemas/external_analyzer_results.schema.json +35 -0
- package/schemas/graph_bundle.schema.json +47 -2
- package/schemas/review_packets.schema.json +160 -0
- package/skills/audit-code/SKILL.md +7 -3
- package/skills/audit-code/audit-code.prompt.md +4 -1
- package/docs/agent-integrations.md +0 -317
- package/docs/agent-roles.md +0 -69
- package/docs/architecture.md +0 -90
- package/docs/artifacts.md +0 -36
- package/docs/bootstrap-install.md +0 -139
- package/docs/contract.md +0 -54
- package/docs/dispatch-implementation-plan.md +0 -302
- package/docs/field-trial-bug-report.md +0 -237
- package/docs/github-copilot.md +0 -66
- package/docs/model-selection.md +0 -97
- package/docs/next-steps.md +0 -202
- package/docs/packaging.md +0 -120
- package/docs/pipeline.md +0 -152
- package/docs/product-direction.md +0 -154
- package/docs/production-launch-bar.md +0 -92
- package/docs/production-readiness.md +0 -58
- package/docs/releasing.md +0 -145
- package/docs/remediation-baseline.md +0 -75
- package/docs/repo-layout.md +0 -30
- package/docs/run-flow.md +0 -56
- package/docs/session-config.md +0 -319
- package/docs/supervisor.md +0 -100
- package/docs/usage.md +0 -215
- package/docs/windows-setup.md +0 -146
- package/docs/workflow-refactor-brief.md +0 -124
package/docs/packaging.md
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
# packaged audit-code validation
|
|
2
|
-
|
|
3
|
-
This repository validates the packaged installation story for both:
|
|
4
|
-
|
|
5
|
-
1. the canonical conversation prompt asset
|
|
6
|
-
2. the backend fallback `audit-code` entrypoint
|
|
7
|
-
3. the self-bootstrap `audit-code ensure` path used by global slash commands
|
|
8
|
-
|
|
9
|
-
It does so in two installation modes:
|
|
10
|
-
|
|
11
|
-
1. linked local command via `npm link`
|
|
12
|
-
2. clean-room packaged install via `npm pack` followed by `npm install <tarball>`
|
|
13
|
-
|
|
14
|
-
## Why this exists
|
|
15
|
-
|
|
16
|
-
The primary product surface is `/audit-code` in conversation.
|
|
17
|
-
|
|
18
|
-
That means the package needs to ship:
|
|
19
|
-
|
|
20
|
-
- the canonical prompt asset at `skills/audit-code/audit-code.prompt.md`
|
|
21
|
-
- the companion Codex/OpenCode skill asset at `skills/audit-code/SKILL.md`
|
|
22
|
-
- packet-dispatch support data such as `dispatch/lens-definitions.json`
|
|
23
|
-
- the backend fallback wrapper exposed as `audit-code`
|
|
24
|
-
- user-level postinstall assets for hosts we can safely seed from a global npm
|
|
25
|
-
install, currently the Claude command and Codex skill bundle
|
|
26
|
-
- `audit-code ensure`, so a globally installed slash command can lazily create
|
|
27
|
-
the repo-local host assets it needs in each target repository
|
|
28
|
-
|
|
29
|
-
A linked-command smoke test proves the installed wrapper and prompt lookup work from the working tree.
|
|
30
|
-
A packaged-install smoke test proves the same assets still work when consumed from the packed artifact that a downstream installer would receive.
|
|
31
|
-
|
|
32
|
-
## Packaged smoke command
|
|
33
|
-
|
|
34
|
-
From the repository root:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
npm install
|
|
38
|
-
npm run verify:release
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
For live child-process output during packaged smoke debugging:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
AUDIT_CODE_VERBOSE=1 npm run smoke:packaged-audit-code
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
For the linked-install variant:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
AUDIT_CODE_VERBOSE=1 npm run smoke:linked-audit-code
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
That script:
|
|
54
|
-
|
|
55
|
-
- creates a tarball with `npm pack`
|
|
56
|
-
- asserts the packed tarball still includes the required shipped assets and runtime entrypoints
|
|
57
|
-
- installs it into a fresh temporary directory
|
|
58
|
-
- verifies the packaged prompt asset is present and discoverable
|
|
59
|
-
- verifies `audit-code install` can write the bootstrap host surfaces from the packaged install
|
|
60
|
-
- verifies `audit-code ensure` can create those surfaces lazily from the packaged install
|
|
61
|
-
- invokes the installed `audit-code` binary from `node_modules/.bin`
|
|
62
|
-
- validates emitted JSON against `schemas/audit-code-v1alpha1.schema.json`
|
|
63
|
-
- exercises the same evidence-import and completion flow used by the linked-command smoke test
|
|
64
|
-
- 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
|
|
65
|
-
- 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
|
|
66
|
-
|
|
67
|
-
## CI
|
|
68
|
-
|
|
69
|
-
The packaged-install path is covered by:
|
|
70
|
-
|
|
71
|
-
```text
|
|
72
|
-
.github/workflows/packaged-entrypoint.yml
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
The release publish gate also runs both installed-entrypoint smoke paths before `npm publish`:
|
|
76
|
-
|
|
77
|
-
```text
|
|
78
|
-
.github/workflows/publish-package.yml
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Publish pipeline state
|
|
82
|
-
|
|
83
|
-
The repository now includes packaging metadata and lifecycle hooks intended for registry publication:
|
|
84
|
-
|
|
85
|
-
- `package.json` is no longer marked private
|
|
86
|
-
- `publishConfig.access` defaults publication to the public npm access level
|
|
87
|
-
- package contents are curated with a `files` allowlist that includes the canonical prompt, skill, dispatch, schema, and runtime assets
|
|
88
|
-
- `prepack` and `prepare` build the runtime artifact
|
|
89
|
-
- `verify:release` codifies the minimum in-repo release gate
|
|
90
|
-
- `prepublishOnly` now runs that full release gate, including both linked-install and packaged-install smoke validation
|
|
91
|
-
- packaged smoke now verifies the tarball includes `audit-code-wrapper-lib.mjs`, the prompt and skill assets, dispatch lens definitions, the response schema, and `dist/` entrypoints before install-time smoke runs
|
|
92
|
-
- the GitHub publish workflow uses the same release gate before `npm publish`
|
|
93
|
-
- the GitHub publish workflow uses npm Trusted Publishing with GitHub OIDC instead of a long-lived publish token
|
|
94
|
-
- prerelease versions now default to the `next` dist-tag in the publish workflow unless an explicit tag override is chosen on manual dispatch
|
|
95
|
-
|
|
96
|
-
## Remaining external release steps
|
|
97
|
-
|
|
98
|
-
Actual publication still depends on npm-side configuration outside the repository:
|
|
99
|
-
|
|
100
|
-
1. confirm package ownership and intended publish target for `auditor-lambda`
|
|
101
|
-
2. configure npm Trusted Publishing for `.github/workflows/publish-package.yml`
|
|
102
|
-
3. run the first GitHub Actions dry run or live prerelease from that workflow path
|
|
103
|
-
|
|
104
|
-
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.
|
|
105
|
-
|
|
106
|
-
## Next packaging steps
|
|
107
|
-
|
|
108
|
-
The next implementation phase should focus on:
|
|
109
|
-
|
|
110
|
-
- completing the one-time npm Trusted Publisher setup
|
|
111
|
-
- proving the GitHub Actions dry-run and live publish path end to end
|
|
112
|
-
- preserving the packaged prompt asset and `audit-code prompt-path` as stable release guarantees
|
|
113
|
-
- preserving `audit-code install` as a packaged-install compatibility guarantee
|
|
114
|
-
- keeping linked-install and packaged-install smoke coverage in the publish gate
|
|
115
|
-
- keeping `docs/production-launch-bar.md` aligned with the real release gate
|
|
116
|
-
|
|
117
|
-
Related roadmap notes:
|
|
118
|
-
|
|
119
|
-
- `docs/production-readiness.md`
|
|
120
|
-
- `docs/next-steps.md`
|
package/docs/pipeline.md
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
# Audit pipeline
|
|
2
|
-
|
|
3
|
-
## Phase 0: intake
|
|
4
|
-
|
|
5
|
-
Automated:
|
|
6
|
-
|
|
7
|
-
- enumerate files
|
|
8
|
-
- detect languages and frameworks
|
|
9
|
-
- identify exclusions
|
|
10
|
-
- hash files
|
|
11
|
-
- collect git metadata
|
|
12
|
-
|
|
13
|
-
Outputs:
|
|
14
|
-
|
|
15
|
-
- `repo_manifest.json`
|
|
16
|
-
- `file_inventory.json`
|
|
17
|
-
- `stack_profile.json`
|
|
18
|
-
|
|
19
|
-
## Phase 1: structural extraction
|
|
20
|
-
|
|
21
|
-
Automated:
|
|
22
|
-
|
|
23
|
-
- detect services, packages, apps
|
|
24
|
-
- detect routes, jobs, commands, workflows
|
|
25
|
-
- bucket files
|
|
26
|
-
- extract graphs
|
|
27
|
-
- detect data-layer artifacts
|
|
28
|
-
|
|
29
|
-
Outputs:
|
|
30
|
-
|
|
31
|
-
- `unit_manifest.json`
|
|
32
|
-
- `surface_manifest.json`
|
|
33
|
-
- `bucket_assignments.json`
|
|
34
|
-
- `graph_bundle.json`
|
|
35
|
-
|
|
36
|
-
LLM role:
|
|
37
|
-
|
|
38
|
-
- resolve ambiguous units and suspicious classifications
|
|
39
|
-
|
|
40
|
-
## Phase 2: mechanical analysis
|
|
41
|
-
|
|
42
|
-
Automated:
|
|
43
|
-
|
|
44
|
-
- lint
|
|
45
|
-
- typecheck
|
|
46
|
-
- tests
|
|
47
|
-
- coverage
|
|
48
|
-
- secrets
|
|
49
|
-
- dependencies
|
|
50
|
-
- static security
|
|
51
|
-
- complexity and duplication
|
|
52
|
-
|
|
53
|
-
Outputs:
|
|
54
|
-
|
|
55
|
-
- `mechanical_results.json`
|
|
56
|
-
- `hotspot_report.json`
|
|
57
|
-
|
|
58
|
-
LLM role:
|
|
59
|
-
|
|
60
|
-
- distinguish signal from noise
|
|
61
|
-
- identify what deserves deeper review
|
|
62
|
-
|
|
63
|
-
## Phase 3: risk scoring
|
|
64
|
-
|
|
65
|
-
Automated inputs:
|
|
66
|
-
|
|
67
|
-
- exposure
|
|
68
|
-
- privilege indicators
|
|
69
|
-
- persistent writes
|
|
70
|
-
- secrets access
|
|
71
|
-
- concurrency signals
|
|
72
|
-
- churn
|
|
73
|
-
- coverage weakness
|
|
74
|
-
|
|
75
|
-
Outputs:
|
|
76
|
-
|
|
77
|
-
- `risk_register.json`
|
|
78
|
-
|
|
79
|
-
LLM role:
|
|
80
|
-
|
|
81
|
-
- adjust for semantic criticality
|
|
82
|
-
|
|
83
|
-
## Phase 4: blind-spot mapping
|
|
84
|
-
|
|
85
|
-
LLM task:
|
|
86
|
-
|
|
87
|
-
- use manifests, graphs, and bounded source excerpts to identify what tools are likely missing
|
|
88
|
-
|
|
89
|
-
Outputs:
|
|
90
|
-
|
|
91
|
-
- `blind_spot_register.json`
|
|
92
|
-
- `runtime_validation_targets.json`
|
|
93
|
-
|
|
94
|
-
## Phase 5: unit audits
|
|
95
|
-
|
|
96
|
-
LLM task:
|
|
97
|
-
|
|
98
|
-
- audit each unit under required lenses
|
|
99
|
-
|
|
100
|
-
Outputs:
|
|
101
|
-
|
|
102
|
-
- `audit_results/<unit>/<lens>.json`
|
|
103
|
-
|
|
104
|
-
## Phase 6: cross-cutting audits
|
|
105
|
-
|
|
106
|
-
LLM task:
|
|
107
|
-
|
|
108
|
-
- audit repo-wide concerns such as auth, retries, migrations, config validation, observability, and secrets flow
|
|
109
|
-
|
|
110
|
-
Outputs:
|
|
111
|
-
|
|
112
|
-
- `cross_cutting/<theme>.json`
|
|
113
|
-
|
|
114
|
-
## Phase 7: dynamic validation
|
|
115
|
-
|
|
116
|
-
Automated + LLM:
|
|
117
|
-
|
|
118
|
-
- run targeted checks for suspicious cases
|
|
119
|
-
- interpret repro results
|
|
120
|
-
|
|
121
|
-
Outputs:
|
|
122
|
-
|
|
123
|
-
- `runtime_validation_report.json`
|
|
124
|
-
|
|
125
|
-
## Phase 8: coverage verification
|
|
126
|
-
|
|
127
|
-
Automated:
|
|
128
|
-
|
|
129
|
-
- verify every file is classified
|
|
130
|
-
- verify every file is audited or explicitly excluded
|
|
131
|
-
- verify reviewed line ranges cover the intended source
|
|
132
|
-
- verify multi-pass overlap for critical units
|
|
133
|
-
|
|
134
|
-
Outputs:
|
|
135
|
-
|
|
136
|
-
- `coverage_matrix.json`
|
|
137
|
-
- `line_coverage_map.json`
|
|
138
|
-
- `uncovered_items.json`
|
|
139
|
-
|
|
140
|
-
## Phase 9: synthesis
|
|
141
|
-
|
|
142
|
-
LLM task:
|
|
143
|
-
|
|
144
|
-
- deduplicate findings
|
|
145
|
-
- cluster by root cause
|
|
146
|
-
- prioritize remediation
|
|
147
|
-
|
|
148
|
-
Outputs:
|
|
149
|
-
|
|
150
|
-
- `findings.json`
|
|
151
|
-
- `root_cause_clusters.json`
|
|
152
|
-
- `remediation_plan.md`
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
# Product direction
|
|
2
|
-
|
|
3
|
-
## Source of truth
|
|
4
|
-
|
|
5
|
-
The primary product is an in-conversation ChatGPT skill:
|
|
6
|
-
|
|
7
|
-
`/audit-code`
|
|
8
|
-
|
|
9
|
-
The intended user experience is:
|
|
10
|
-
|
|
11
|
-
- invoke `/audit-code` in a ChatGPT project conversation
|
|
12
|
-
- use the current conversation model as the primary model
|
|
13
|
-
- use project files and attached repository context as the primary operating context
|
|
14
|
-
- require no manual filesystem paths, provider flags, or model-selection arguments from the user
|
|
15
|
-
- advance the audit automatically until it completes or no further automatic progress is possible, using bounded internal steps only as an implementation detail
|
|
16
|
-
|
|
17
|
-
## Canonical install asset
|
|
18
|
-
|
|
19
|
-
The canonical integration asset is:
|
|
20
|
-
|
|
21
|
-
`skills/audit-code/audit-code.prompt.md`
|
|
22
|
-
|
|
23
|
-
That asset should be available from both:
|
|
24
|
-
|
|
25
|
-
- repository checkouts
|
|
26
|
-
- packaged installs
|
|
27
|
-
|
|
28
|
-
The stable packaged lookup helper is:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
audit-code prompt-path
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
That command exists to locate the conversation prompt asset, not to reposition the CLI as the primary user surface.
|
|
35
|
-
|
|
36
|
-
The intended package install is:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
npm install -g auditor-lambda
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
That makes the backend command globally available and lets hosts with user-level
|
|
43
|
-
command or skill discovery expose `/audit-code` before any repository-local
|
|
44
|
-
files exist.
|
|
45
|
-
|
|
46
|
-
The conversation prompt should self-bootstrap the current repository with:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
audit-code ensure --quiet
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
That command creates or refreshes repo-local `/audit-code` surfaces only when
|
|
53
|
-
they are missing or stale.
|
|
54
|
-
|
|
55
|
-
The explicit repair and compatibility installer is:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
audit-code install
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
That command writes the repo-local `/audit-code` surfaces we can automate today instead of making the user choose one host up front.
|
|
62
|
-
|
|
63
|
-
## What the CLI is
|
|
64
|
-
|
|
65
|
-
The CLI in this repository is backend infrastructure, a local development harness, and a repo-local fallback operator surface.
|
|
66
|
-
|
|
67
|
-
It is not the preferred end-user mental model.
|
|
68
|
-
|
|
69
|
-
## Repo-local fallback
|
|
70
|
-
|
|
71
|
-
Repo-local backend wrapper:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
audit-code
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
from the target repository root.
|
|
78
|
-
|
|
79
|
-
Fallback explicit form:
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
audit-code --root /path/to/repo
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Debug one-step mode:
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
audit-code --single-step
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## Backend mode rule
|
|
92
|
-
|
|
93
|
-
For repo-local backend usage:
|
|
94
|
-
|
|
95
|
-
- omitted provider should remain the stable safe default: `local-subprocess`
|
|
96
|
-
- `local-subprocess` should stop cleanly once only manual or provider-assisted review remains
|
|
97
|
-
- `provider: "auto"` is the explicit opt-in mode for best-effort routing across configured or detected backends
|
|
98
|
-
- explicit provider names should remain available for operators who want a specific backend
|
|
99
|
-
|
|
100
|
-
## Semantic review ownership
|
|
101
|
-
|
|
102
|
-
The intended semantic-review owner is the active conversation agent.
|
|
103
|
-
|
|
104
|
-
That means:
|
|
105
|
-
|
|
106
|
-
- `/audit-code` should hand review work to the current conversation or host agent session first
|
|
107
|
-
- 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
|
|
108
|
-
- backend provider adapters are compatibility bridges for fallback CLI usage, not the default owner of review work
|
|
109
|
-
- session-config should not be the normal mechanism for redirecting semantic review into a second external LLM CLI
|
|
110
|
-
|
|
111
|
-
## Task-planning rule
|
|
112
|
-
|
|
113
|
-
The intended review planner should:
|
|
114
|
-
|
|
115
|
-
- determine which files require which lenses
|
|
116
|
-
- preserve `AuditTask` as the deterministic coverage identity
|
|
117
|
-
- group related tasks into graph-informed review packets for worker dispatch
|
|
118
|
-
- review multiple relevant lenses for the same packet in one worker pass
|
|
119
|
-
- keep one validated `AuditResult` object per underlying task
|
|
120
|
-
- batch tiny homogeneous files rather than spawning one worker per small task
|
|
121
|
-
|
|
122
|
-
## Default context & model rules
|
|
123
|
-
|
|
124
|
-
1. By default, the current ChatGPT project conversation and its files should be treated as the primary context.
|
|
125
|
-
2. The user should not need to supply `--root`, provider names, or backend-specific settings in normal usage.
|
|
126
|
-
3. For backend CLI delegation, let the chosen provider own its own model-selection behavior unless explicitly configured.
|
|
127
|
-
4. Backend fallback settings should not cap the active conversation agent's own subagent parallelism model.
|
|
128
|
-
|
|
129
|
-
## Development rule
|
|
130
|
-
|
|
131
|
-
Future development should optimize for the native skill UX first:
|
|
132
|
-
|
|
133
|
-
- `/audit-code` in conversation is the canonical product entrypoint
|
|
134
|
-
- packaged installs should help users reach the prompt asset for that conversation route
|
|
135
|
-
- the CLI and supervisor are implementation details and fallback harnesses
|
|
136
|
-
- provider adapters are backend internals, not the primary product concept
|
|
137
|
-
- semantic-review dispatch belongs to the active conversation agent, not to an externally spawned fallback provider by default
|
|
138
|
-
- docs, tests, and examples should present the skill-first flow before any CLI flow
|
|
139
|
-
|
|
140
|
-
If documentation or implementation details conflict, prefer the skill-first contract above over the CLI-first backend shape.
|
|
141
|
-
|
|
142
|
-
## Near-term implementation priorities
|
|
143
|
-
|
|
144
|
-
The next implementation phase should focus on:
|
|
145
|
-
|
|
146
|
-
- reducing prompt-import friction for the conversation setup path
|
|
147
|
-
- keeping the bootstrap path stable across supported hosts
|
|
148
|
-
- extending automation to hosts that still lack a verified repo-local slash-command surface
|
|
149
|
-
- improving continuation when review needs an interactive or assisted provider
|
|
150
|
-
- finishing publish and release hardening for packaged installs
|
|
151
|
-
|
|
152
|
-
For a fuller roadmap summary, see:
|
|
153
|
-
|
|
154
|
-
- `docs/next-steps.md`
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# Production Launch Bar
|
|
2
|
-
|
|
3
|
-
This document defines the minimum bar this repository should meet before a version is described as production-ready.
|
|
4
|
-
|
|
5
|
-
It is intentionally narrower than the broader product roadmap in `docs/next-steps.md`.
|
|
6
|
-
|
|
7
|
-
## Supported product surfaces
|
|
8
|
-
|
|
9
|
-
The current product surfaces are:
|
|
10
|
-
|
|
11
|
-
1. `/audit-code` in conversation as the canonical user-facing route
|
|
12
|
-
2. `audit-code prompt-path` as the stable way to locate the packaged prompt asset
|
|
13
|
-
3. `npm install -g auditor-lambda` as the intended one-time user install
|
|
14
|
-
4. `audit-code ensure` as the idempotent repo-local self-bootstrap helper
|
|
15
|
-
5. `audit-code install` as the explicit repo-local repair or force-refresh installer
|
|
16
|
-
6. `audit-code` as the repo-local backend fallback wrapper
|
|
17
|
-
|
|
18
|
-
Anything below `dist/index.js` remains a backend or development interface rather than the primary end-user contract.
|
|
19
|
-
|
|
20
|
-
## Supported backend expectations
|
|
21
|
-
|
|
22
|
-
### Node and package runtime
|
|
23
|
-
|
|
24
|
-
- Node `>=20` is the minimum supported runtime from `package.json`
|
|
25
|
-
- GitHub Actions currently exercises the test suite on Node `20` and Node `22`
|
|
26
|
-
- release and publish automation stays pinned to Node `22.14.0`
|
|
27
|
-
- packaged installs must include:
|
|
28
|
-
- `audit-code`
|
|
29
|
-
- `audit-code-wrapper-lib.mjs`
|
|
30
|
-
- `dispatch/lens-definitions.json`
|
|
31
|
-
- `skills/audit-code/SKILL.md`
|
|
32
|
-
- `skills/audit-code/audit-code.prompt.md`
|
|
33
|
-
- `schemas/audit-code-v1alpha1.schema.json`
|
|
34
|
-
- the checked-in `dist/` output is part of the shipped runtime contract for installed usage
|
|
35
|
-
- global package postinstall should seed user-level command/skill assets only for
|
|
36
|
-
hosts with stable user-local paths; repo-local assets remain the responsibility
|
|
37
|
-
of `audit-code ensure` or `audit-code install`
|
|
38
|
-
|
|
39
|
-
### Backend providers
|
|
40
|
-
|
|
41
|
-
- `local-subprocess` is the safest default fallback and must keep working without extra provider setup
|
|
42
|
-
- `claude-code`, `opencode`, `subprocess-template`, and `vscode-task` are supported backend adapters when configured correctly
|
|
43
|
-
- `provider: "auto"` is best-effort routing, not a stronger support guarantee than the underlying resolved provider
|
|
44
|
-
|
|
45
|
-
### Host surfaces
|
|
46
|
-
|
|
47
|
-
- ChatGPT-style project conversations are the intended `/audit-code` product surface
|
|
48
|
-
- Codex, Claude Desktop, OpenCode, VS Code / GitHub Copilot, and Antigravity repository surfaces are generated through `audit-code ensure` or explicit `audit-code install`
|
|
49
|
-
- editor integrations that import `skills/audit-code/audit-code.prompt.md` are supported as prompt-based integrations
|
|
50
|
-
- no editor-specific native install surface should be called production-ready until it has explicit documentation and a repeatable verification path
|
|
51
|
-
|
|
52
|
-
## Required verification before calling a release production-ready
|
|
53
|
-
|
|
54
|
-
Run this from the repository root:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
npm ci
|
|
58
|
-
npm run verify:release
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
`npm run verify:release` is the in-repo minimum release gate. It currently covers:
|
|
62
|
-
|
|
63
|
-
- TypeScript typecheck
|
|
64
|
-
- full automated test suite
|
|
65
|
-
- linked-install `audit-code` smoke coverage
|
|
66
|
-
- packaged-install `audit-code` smoke coverage
|
|
67
|
-
- tarball contract verification for required shipped assets and runtime entrypoints
|
|
68
|
-
- packaged and linked verification of the bootstrap install path
|
|
69
|
-
|
|
70
|
-
In addition to the in-repo gate, production readiness still requires these external checks:
|
|
71
|
-
|
|
72
|
-
1. confirm npm package-name ownership and intended publish target
|
|
73
|
-
2. configure npm Trusted Publishing for `.github/workflows/publish-package.yml`
|
|
74
|
-
3. run a real GitHub Actions dry run or prerelease publish from that workflow path
|
|
75
|
-
|
|
76
|
-
## Operator validation expectations
|
|
77
|
-
|
|
78
|
-
Before treating the backend fallback as healthy for a repository, `audit-code validate` should pass with zero issues.
|
|
79
|
-
|
|
80
|
-
That validation now covers:
|
|
81
|
-
|
|
82
|
-
- artifact-bundle consistency
|
|
83
|
-
- `session-config.json` shape
|
|
84
|
-
- explicit provider readiness for configured external CLIs
|
|
85
|
-
|
|
86
|
-
## Current residual risk
|
|
87
|
-
|
|
88
|
-
This repository has a clear backend release gate, but it still should not be called fully production-ready until:
|
|
89
|
-
|
|
90
|
-
1. hosts without a verified repo-local slash-command surface still have a comparably low-friction bootstrap path
|
|
91
|
-
2. interactive continuation is smoother when assisted review must continue through a provider
|
|
92
|
-
3. external publish operations are proven end to end
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Production Readiness
|
|
2
|
-
|
|
3
|
-
## Verdict
|
|
4
|
-
|
|
5
|
-
As of April 30, 2026, the package release path has a strong in-repo release gate, but the broader host experience still has follow-through work before it should be described as a frictionless production launch.
|
|
6
|
-
|
|
7
|
-
What is already true:
|
|
8
|
-
|
|
9
|
-
- TypeScript build passes
|
|
10
|
-
- automated test suite passes
|
|
11
|
-
- linked-install smoke coverage passes
|
|
12
|
-
- packaged-install smoke coverage passes
|
|
13
|
-
- packaged tarball contract verification passes
|
|
14
|
-
- `npm run verify:release` is the authoritative local release gate for the current worktree
|
|
15
|
-
- local `npm publish --dry-run` should be run before any release candidate publish
|
|
16
|
-
- npm registry state should be verified at release time rather than inferred from checked-in docs
|
|
17
|
-
- malformed config and corrupted artifact handling are explicit
|
|
18
|
-
- blocked fallback runs now emit structured operator handoff guidance
|
|
19
|
-
- supported repo-local hosts now share an idempotent self-bootstrap path via `audit-code ensure`
|
|
20
|
-
- `audit-code install` remains the explicit repair and force-refresh path
|
|
21
|
-
- configured provider-assisted review can now continue to completion in a single wrapper invocation
|
|
22
|
-
- the GitHub publish workflow is configured for Trusted Publishing through GitHub OIDC rather than a long-lived npm token
|
|
23
|
-
|
|
24
|
-
## Why It Is Not Yet A Broad Production Claim
|
|
25
|
-
|
|
26
|
-
The biggest remaining gaps are product and release-operational, not core wrapper correctness:
|
|
27
|
-
|
|
28
|
-
1. npm publication is not fully proven end to end.
|
|
29
|
-
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.
|
|
30
|
-
2. The primary conversation-first product still has setup friction on hosts without a verified repo-local slash-command surface.
|
|
31
|
-
Codex, Claude Desktop, OpenCode, VS Code / Copilot, and Antigravity now share the same self-bootstrap command, but each generated host surface still needs real-product verification before it can be called frictionless.
|
|
32
|
-
3. Provider-assisted continuation still needs polish outside the happy path.
|
|
33
|
-
Configured interactive bridges can now continue through audit-task review, but operator guidance and host-specific ergonomics still need refinement when a provider cannot produce results cleanly.
|
|
34
|
-
|
|
35
|
-
The explicit launch bar is now documented in `docs/production-launch-bar.md`, and the in-repo release gate is codified as `npm run verify:release`.
|
|
36
|
-
|
|
37
|
-
## Required Next Steps
|
|
38
|
-
|
|
39
|
-
1. Confirm release operations externally.
|
|
40
|
-
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.
|
|
41
|
-
2. Extend bootstrap coverage beyond the currently automated hosts.
|
|
42
|
-
Keep `audit-code ensure` and `audit-code install` stable for Codex, Claude Desktop, OpenCode, VS Code / Copilot, and Antigravity, and close the remaining friction gap for hosts that still lack a verified repo-local install surface.
|
|
43
|
-
3. Polish provider-assisted UX.
|
|
44
|
-
Keep the new continuation path explicit and inspectable while improving failure hints, host guidance, and operator recovery when a provider bridge misbehaves.
|
|
45
|
-
|
|
46
|
-
## Nice-To-Have Follow-On Work
|
|
47
|
-
|
|
48
|
-
- expand host-specific setup guides once the first native integration lands
|
|
49
|
-
- keep release smoke coverage and contract tests fast enough to stay in the publish gate
|
|
50
|
-
- keep `docs/production-launch-bar.md` aligned with the real verification and support surface
|
|
51
|
-
- preserve the packaged prompt asset and `audit-code prompt-path` as hard compatibility guarantees
|
|
52
|
-
|
|
53
|
-
## Related Docs
|
|
54
|
-
|
|
55
|
-
- `docs/next-steps.md`
|
|
56
|
-
- `docs/packaging.md`
|
|
57
|
-
- `docs/agent-integrations.md`
|
|
58
|
-
- `docs/production-launch-bar.md`
|