ahead-pi 0.2.1 → 0.3.1
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 +26 -41
- package/dist/ahead_wasm.wasm +0 -0
- package/generated/corrective-debugging/ai-audit.md +39 -0
- package/generated/corrective-debugging/ai-review.md +46 -0
- package/generated/corrective-debugging/characterize.md +53 -0
- package/generated/corrective-debugging/conclude.md +59 -0
- package/generated/corrective-debugging/correction.md +53 -0
- package/generated/corrective-debugging/deploy.md +38 -0
- package/generated/corrective-debugging/human-review.md +45 -0
- package/generated/corrective-debugging/implement.md +42 -0
- package/generated/corrective-debugging/investigate.md +59 -0
- package/generated/corrective-debugging/manifest.json +30 -0
- package/generated/corrective-debugging/model.md +53 -0
- package/generated/corrective-debugging/outcome.md +38 -0
- package/generated/corrective-debugging/plan.md +53 -0
- package/generated/corrective-debugging/verify.md +47 -0
- package/generated/decision/compare.md +45 -0
- package/generated/decision/criteria.md +45 -0
- package/generated/decision/decide.md +45 -0
- package/generated/decision/frame.md +45 -0
- package/generated/decision/manifest.json +21 -0
- package/generated/decision/options.md +47 -0
- package/generated/decision/publish.md +38 -0
- package/generated/decision/research.md +45 -0
- package/generated/internal-improvement/ai-audit.md +39 -0
- package/generated/internal-improvement/ai-review.md +46 -0
- package/generated/internal-improvement/baseline.md +46 -0
- package/generated/internal-improvement/decision.md +45 -0
- package/generated/internal-improvement/deploy.md +38 -0
- package/generated/internal-improvement/human-review.md +45 -0
- package/generated/internal-improvement/implement.md +42 -0
- package/generated/internal-improvement/invariants.md +38 -0
- package/generated/internal-improvement/manifest.json +29 -0
- package/generated/internal-improvement/options.md +47 -0
- package/generated/internal-improvement/outcome.md +38 -0
- package/generated/internal-improvement/plan.md +53 -0
- package/generated/internal-improvement/target.md +45 -0
- package/generated/internal-improvement/verify.md +45 -0
- package/generated/investigation/bound.md +45 -0
- package/generated/investigation/conclude.md +45 -0
- package/generated/investigation/explore.md +60 -0
- package/generated/investigation/frame.md +45 -0
- package/generated/investigation/gather.md +45 -0
- package/generated/investigation/manifest.json +21 -0
- package/generated/investigation/synthesize.md +51 -0
- package/generated/operational-stabilization/assess.md +46 -0
- package/generated/operational-stabilization/execute-observe.md +45 -0
- package/generated/operational-stabilization/manifest.json +19 -0
- package/generated/operational-stabilization/monitor.md +45 -0
- package/generated/operational-stabilization/outcome.md +38 -0
- package/generated/operational-stabilization/respond.md +40 -0
- package/generated/operational-stabilization/verify-recovery.md +45 -0
- package/generated/product-change/ai-audit.md +7 -4
- package/generated/product-change/ai-review.md +15 -5
- package/generated/product-change/decision.md +11 -2
- package/generated/product-change/define.md +4 -2
- package/generated/product-change/deploy.md +4 -2
- package/generated/product-change/human-review.md +11 -2
- package/generated/product-change/implement.md +4 -2
- package/generated/product-change/manifest.json +8 -3
- package/generated/product-change/options.md +11 -2
- package/generated/product-change/outcome.md +4 -2
- package/generated/product-change/plan.md +17 -2
- package/generated/product-change/questions.md +17 -2
- package/generated/product-change/research.md +11 -2
- package/generated/product-change/verify.md +4 -2
- package/generated/recommended-skills.json +24 -0
- package/generated/reference/CONSTITUTION.md +2 -0
- package/generated/reference/docs/evidence/README.md +17 -0
- package/generated/reference/docs/evidence/evidence-standard.md +2 -0
- package/generated/reference/docs/evidence/research-map.md +2 -0
- package/generated/reference/docs/{references → evidence/sources}/pragmatic-programmer-page-index.md +3 -1
- package/generated/reference/docs/{references → evidence/sources}/submitted-engineering-notes.md +3 -1
- package/generated/reference/docs/guide/README.md +28 -0
- package/generated/reference/docs/{acceptable-ai-use.md → guide/acceptable-ai-use.md} +4 -2
- package/generated/reference/docs/{engineering-practice.md → guide/engineering-practice.md} +5 -3
- package/generated/reference/docs/{rationale.md → guide/rationale.md} +3 -1
- package/generated/reference/docs/guide/recommended-skills.md +21 -0
- package/generated/reference/docs/{workflows → guide/workflows}/README.md +6 -4
- package/generated/reference/docs/{workflows → guide/workflows}/corrective-debugging.md +39 -19
- package/generated/reference/docs/{workflows → guide/workflows}/decision.md +4 -2
- package/generated/reference/docs/{workflows → guide/workflows}/internal-improvement.md +37 -23
- package/generated/reference/docs/{workflows → guide/workflows}/investigation.md +5 -1
- package/generated/reference/docs/{workflows → guide/workflows}/operational-stabilization.md +16 -12
- package/generated/reference/docs/{workflows → guide/workflows}/product-change.md +16 -3
- package/generated/reference/index.json +200 -87
- package/package.json +34 -25
- package/src/engine.ts +27 -8
- package/src/flow-guides.ts +168 -0
- package/src/guidance.ts +220 -78
- package/src/index.ts +852 -189
- package/src/reference-viewer.ts +20 -18
- package/src/reference.ts +76 -14
- package/src/review.ts +360 -0
- package/src/skills.ts +133 -0
- package/src/storage.ts +139 -15
- package/src/types.ts +1 -0
- package/generated/reference/docs/design/debugging-and-operations.md +0 -119
- package/generated/reference/docs/design/executable-workflows.md +0 -110
- package/generated/reference/docs/design/process-taxonomy.md +0 -144
- package/generated/reference/docs/releasing-pi.md +0 -89
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# Releasing the Pi Extension
|
|
2
|
-
|
|
3
|
-
Status: publishing path v0.1
|
|
4
|
-
|
|
5
|
-
## Contract
|
|
6
|
-
|
|
7
|
-
- npm package: `ahead-pi`
|
|
8
|
-
- package source: `integrations/pi`
|
|
9
|
-
- release workflow: `.github/workflows/publish-pi.yml`
|
|
10
|
-
- release tag: `pi-v<package-version>`
|
|
11
|
-
- stable npm dist-tag: `latest`
|
|
12
|
-
- prerelease npm dist-tag: `next`
|
|
13
|
-
- registry: `https://registry.npmjs.org`
|
|
14
|
-
|
|
15
|
-
The package name was unclaimed when this path was created. Availability is not ownership until the first version is published.
|
|
16
|
-
|
|
17
|
-
## Human release gate
|
|
18
|
-
|
|
19
|
-
Publishing is triggered only by publishing a GitHub Release whose tag starts with `pi-v`. The workflow rejects a tag that does not exactly match `integrations/pi/package.json`, rejects a release commit that is not contained in `main`, rebuilds from source, runs the complete test and packed-install smoke suite, and then publishes with npm provenance.
|
|
20
|
-
|
|
21
|
-
The job uses the GitHub `npm` environment. Configure that environment with a required reviewer if releases need an explicit second confirmation.
|
|
22
|
-
|
|
23
|
-
AHEAD is released under the MIT License. The repository license file and each published package must declare the same license.
|
|
24
|
-
|
|
25
|
-
## Prepare a version
|
|
26
|
-
|
|
27
|
-
From `integrations/pi`:
|
|
28
|
-
|
|
29
|
-
```sh
|
|
30
|
-
npm version --no-git-tag-version <version>
|
|
31
|
-
npm test
|
|
32
|
-
node ./scripts/check-release.mjs pi-v<version>
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Commit the version change, merge it to `main`, and confirm CI. Do not create the release from an unmerged commit.
|
|
36
|
-
|
|
37
|
-
## Bootstrap the first npm release
|
|
38
|
-
|
|
39
|
-
This machine was not authenticated to npm when the workflow was created, and npm trusted publishing is configured from an existing package's settings. The first publication therefore needs a short-lived bootstrap credential:
|
|
40
|
-
|
|
41
|
-
1. Create or select an npm account with 2FA enabled.
|
|
42
|
-
2. Create a granular npm access token that can publish the new public package and is permitted to bypass 2FA for automation.
|
|
43
|
-
3. Store it as `NPM_TOKEN` in the GitHub `npm` environment. Do not put it in repository files, shell history, workflow logs, or release notes.
|
|
44
|
-
4. On GitHub, create and publish a release with tag `pi-v0.1.0` at the corresponding `main` commit.
|
|
45
|
-
5. Verify the workflow, npm package page, provenance, and a clean `pi -e npm:ahead-pi@0.1.0` install.
|
|
46
|
-
|
|
47
|
-
The workflow has `id-token: write` and publishes with `--provenance`. Before trusted publishing exists, npm uses the bootstrap token and GitHub OIDC supplies the provenance attestation.
|
|
48
|
-
|
|
49
|
-
## Move to tokenless trusted publishing
|
|
50
|
-
|
|
51
|
-
The `ahead-pi` package uses this trusted publisher:
|
|
52
|
-
|
|
53
|
-
| npm field | Value |
|
|
54
|
-
|---|---|
|
|
55
|
-
| Provider | GitHub Actions |
|
|
56
|
-
| Organization or user | `Kade-Powell` |
|
|
57
|
-
| Repository | `ahead` |
|
|
58
|
-
| Workflow filename | `publish-pi.yml` |
|
|
59
|
-
| Environment | `npm` |
|
|
60
|
-
| Allowed action | `npm publish` |
|
|
61
|
-
|
|
62
|
-
The GitHub `npm` environment must not contain an `NPM_TOKEN` secret. npm publishing access requires 2FA, disallows bypass-2FA tokens, and keeps the trusted publisher. Each release verifies tokenless OIDC authentication and automatic provenance.
|
|
63
|
-
|
|
64
|
-
## Publish and verify
|
|
65
|
-
|
|
66
|
-
1. Publish a GitHub Release with tag `pi-v<version>` at the version commit.
|
|
67
|
-
2. Watch the `Publish Pi extension` workflow.
|
|
68
|
-
3. Confirm `npm view ahead-pi@<version> version` returns the release.
|
|
69
|
-
4. Confirm the package page links to this repository and shows provenance.
|
|
70
|
-
5. Test the registry artifact:
|
|
71
|
-
|
|
72
|
-
```sh
|
|
73
|
-
pi -e npm:ahead-pi@<version>
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
6. For stable releases, confirm `npm view ahead-pi dist-tags.latest`; for prereleases, confirm `dist-tags.next`.
|
|
77
|
-
|
|
78
|
-
## Failure and rollback
|
|
79
|
-
|
|
80
|
-
An npm version is immutable. Do not reuse a version after any publish attempt.
|
|
81
|
-
|
|
82
|
-
- If validation fails before `npm publish`, fix the source, increment the version if a registry publish may have occurred, and publish a new GitHub Release.
|
|
83
|
-
- If publication succeeds but post-publish verification fails, do not rerun the same version blindly. Inspect the registry first.
|
|
84
|
-
- Correct a bad release with a new patch version. Use npm deprecation for a discoverable warning; reserve unpublishing for the narrow cases allowed by npm policy.
|
|
85
|
-
- Moving a dist-tag is a human release decision and does not alter the immutable tarball.
|
|
86
|
-
|
|
87
|
-
## Why npm and OIDC
|
|
88
|
-
|
|
89
|
-
Pi natively installs `npm:ahead-pi`, pinned npm versions, Git sources, and local paths. npm provides the simplest cross-machine install path. GitHub-hosted OIDC avoids a long-lived release secret after bootstrap, and npm provenance links the public tarball to this repository and workflow. Neither provenance nor a passing workflow proves the package is safe; they make origin and build history auditable.
|