Skip to content

Commit f10faab

Browse files
release: prepare v0.4.0
Prepare agent-rules-kit v0.4.0 metadata, release notes, evidence placeholder, public-truth docs, post-release audit guards, and version golden output.
1 parent 5c02030 commit f10faab

13 files changed

Lines changed: 168 additions & 62 deletions

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ This project has a published GitHub Release line, but no stable support or API g
66

77
## [Unreleased]
88

9+
No unreleased changes yet.
10+
11+
## [0.4.0] - 2026-06-21
12+
913
- Documented the GitHub Actions pinning policy decision before the v0.4.0 release train.
1014
- Refreshed the external audit package manifest and corrected pre-v0.4.0 readiness statuses after F-01.
1115
- Triaged superseded v0.3.1 release-target wording before the v0.4.0 release train.
@@ -41,7 +45,6 @@ This project has a published GitHub Release line, but no stable support or API g
4145
- Improved PyPI package metadata with SPDX license metadata, explicit license files, project URLs, and additional classifiers.
4246
- Synced the README source-tree layout with the actual v0.3.0 module structure.
4347
- Reviewed the threat model for the v0.3.0 doctor, budget, and explain command surface.
44-
4548
## [0.3.0] - 2026-06-19
4649

4750
### Added

README.md

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,11 @@ The default behavior is read-only.
135135

136136
## What This Project Does
137137

138-
`v0.3.0` is the current published GitHub Release and PyPI package for `agent-rules-kit`.
138+
`v0.4.0` is the current published GitHub Release and PyPI package for `agent-rules-kit`.
139139

140-
`v0.2.3` remains the previous published GitHub Release and PyPI package baseline.
140+
`v0.3.0` remains the previous published GitHub Release and PyPI package baseline.
141141

142-
Current `main` may include post-v0.3.0 changes that are not part of the published PyPI package until a later release is cut and verified.
142+
Current `main` may include post-v0.4.0 changes that are not part of the published PyPI package until a later release is cut and verified.
143143

144144
The current `main` behavior includes:
145145

@@ -149,11 +149,11 @@ The current `main` behavior includes:
149149
- provides `init --dry-run` for planning baseline instruction files;
150150
- provides explicit `init --write` behavior for creating or replacing root `AGENTS.md`;
151151
- backs up existing root `AGENTS.md` before replacement;
152-
- provides read-only `doctor` repository diagnosis output in the published v0.3.0 package and current `main`;
153-
- provides read-only `budget` local size and context-pressure approximation output in the published v0.3.0 package and current `main`;
154-
- provides read-only `explain` output for known governance rule IDs in the published v0.3.0 package and current `main`;
155-
- provides read-only `dedupe` duplicate instruction-line detection on current `main` as a post-v0.3.0 addition;
156-
- provides read-only `conflicts` contradictory-guidance detection on current `main` as a post-v0.3.0 addition;
152+
- provides read-only `doctor` repository diagnosis output in the published v0.4.0 package and current `main`;
153+
- provides read-only `budget` local size and context-pressure approximation output in the published v0.4.0 package and current `main`;
154+
- provides read-only `explain` output for known governance rule IDs in the published v0.4.0 package and current `main`;
155+
- provides read-only `dedupe` duplicate instruction-line detection in the published v0.4.0 package and current `main`;
156+
- provides read-only `conflicts` contradictory-guidance detection in the published v0.4.0 package and current `main`;
157157
- redacts supported secret-like values in supported output, including finding messages, paths, and evidence payloads;
158158
- avoids network calls;
159159
- avoids LLM calls;
@@ -213,7 +213,7 @@ A clean report means only that the implemented checks did not find a supported i
213213

214214
## Installation
215215

216-
`v0.3.0` is the current published GitHub Release and PyPI package.
216+
`v0.4.0` is the current published GitHub Release and PyPI package.
217217

218218
The published package can be installed from PyPI. Release publication uses PyPI Trusted Publishing from the GitHub Release workflow.
219219

@@ -225,10 +225,10 @@ Requirements for using a published CLI release:
225225
- a Python virtual environment;
226226
- a published PyPI release of `agent-rules-kit`.
227227

228-
Install `v0.3.0` in a virtual environment:
228+
Install `v0.4.0` in a virtual environment:
229229

230230
python -m venv .venv
231-
.venv/bin/python -m pip install agent-rules-kit==0.3.0
231+
.venv/bin/python -m pip install agent-rules-kit==0.4.0
232232
.venv/bin/agent-rules-kit --version
233233
.venv/bin/agent-rules-kit check /path/to/repository --format console
234234

@@ -256,7 +256,7 @@ The source tree can also be used directly for quick CLI inspection:
256256

257257
### Current main commands from source
258258

259-
Current `main` can also be tested from the source tree. `doctor`, `budget`, and `explain` are part of the published v0.3.0 package. `dedupe` and `conflicts` are post-v0.3.0 current-main additions until the next release is cut and verified:
259+
Current `main` can also be tested from the source tree. `doctor`, `budget`, `explain`, `dedupe`, and `conflicts` are part of the published v0.4.0 package and current source tree:
260260

261261
PYTHONPATH=src python -m agent_rules_kit.cli doctor tests/fixtures/repositories/multi-agent-overlap
262262
PYTHONPATH=src python -m agent_rules_kit.cli budget tests/fixtures/repositories/multi-agent-overlap
@@ -270,7 +270,7 @@ These source-tree commands are development checks. Published-package behavior mu
270270

271271
## Release and PyPI Publishing
272272

273-
The `v0.3.0` release was published through PyPI Trusted Publishing.
273+
The `v0.4.0` release was published through PyPI Trusted Publishing.
274274

275275
Release publishing is handled by:
276276

@@ -288,11 +288,11 @@ The workflow is intentionally limited:
288288
- it grants `id-token: write` only to the publish job;
289289
- it does not use a static PyPI token, username, or password.
290290

291-
The published `v0.3.0` package must remain verifiable by:
291+
The published `v0.4.0` package must remain verifiable by:
292292

293293
- the GitHub Release tag pointing to the verified release SHA;
294294
- a successful PyPI publish workflow run;
295-
- a clean virtual environment installing and running `agent-rules-kit==0.3.0` from PyPI.
295+
- a clean virtual environment installing and running `agent-rules-kit==0.4.0` from PyPI.
296296

297297
---
298298

@@ -392,7 +392,7 @@ The first baseline is conservative: it detects implemented pattern families for
392392
PYTHONPATH=src python -m agent_rules_kit.cli explain AIRK-GOV003
393393
PYTHONPATH=src python -m agent_rules_kit.cli explain --list
394394

395-
These commands are implemented on current `main`. `doctor`, `budget`, and `explain` are part of the published v0.3.0 command surface. `dedupe` and `conflicts` are post-v0.3.0 `main` additions until the next release is cut and verified.
395+
These commands are implemented on current `main` and are part of the published v0.4.0 command surface.
396396

397397
---
398398

@@ -452,13 +452,17 @@ See:
452452
│ ├── codeql.yml
453453
│ └── publish-pypi.yml
454454
├── docs/
455+
│ ├── ACTIONS-PINNING-POLICY.md
455456
│ ├── BUILD-PLAN.md
456457
│ ├── DEPENDABOT-DEPENDENCY-GRAPH.md
457458
│ ├── EXIT-CODES.md
459+
│ ├── EXTERNAL-AUDIT-PACKAGE-CURRENT-MAIN.md
458460
│ ├── OPENSSF-SCORECARD-EVALUATION.md
459461
│ ├── OUTPUTS.md
462+
│ ├── POST-AUDIT-ACTION-PLAN-CURRENT-MAIN.md
460463
│ ├── POST-V0.3.0-FUNCTIONAL-CONTRACT-EVIDENCE.md
461464
│ ├── POST-V0.3.0-INTERNAL-READINESS-AUDIT.md
465+
│ ├── PRE-V0.4.0-INTERNAL-READINESS-AUDIT.md
462466
│ ├── PRIVATE-VULNERABILITY-REPORTING.md
463467
│ ├── PRODUCT-STRATEGY.md
464468
│ ├── RULES.md
@@ -472,8 +476,14 @@ See:
472476
│ ├── V0.3-ARCHITECTURE-ROADMAP.md
473477
│ ├── V0.3.0-POST-RELEASE-AUDIT.md
474478
│ ├── V0.3.0-RELEASE-NOTES.md
479+
│ ├── V0.4.0-RELEASE-EVIDENCE.md
480+
│ ├── V0.4.0-RELEASE-NOTES.md
475481
│ └── screenshots/
476482
│ └── readme/
483+
│ ├── agent-rules-kit-governance-findings.png
484+
│ ├── agent-rules-kit-help-check.png
485+
│ ├── agent-rules-kit-init-safety.png
486+
│ └── agent-rules-kit-output-formats.png
477487
├── scripts/
478488
│ ├── check.sh
479489
│ └── post-release-audit.sh
@@ -492,6 +502,8 @@ See:
492502
│ ├── init_write.py
493503
│ └── redaction.py
494504
├── tests/
505+
│ ├── fixtures/
506+
│ │ └── repositories/
495507
│ ├── test_cli.py
496508
│ ├── test_conflicts.py
497509
│ ├── test_dedupe.py
@@ -543,7 +555,7 @@ Current verified local result on `main`:
543555

544556
The exact unit test count may change as coverage evolves. The source of truth is the current `./scripts/check.sh` output and the matching GitHub Actions run for `main`.
545557

546-
For current post-v0.3.0 functional evidence, including the verified command matrix, init write behavior, and release-boundary limits, see `docs/POST-V0.3.0-FUNCTIONAL-CONTRACT-EVIDENCE.md`.
558+
For v0.4.0 release notes and release evidence, see `docs/V0.4.0-RELEASE-NOTES.md` and `docs/V0.4.0-RELEASE-EVIDENCE.md`.
547559

548560
CI installs project development dependencies and then runs the same local check script through GitHub Actions.
549561

@@ -557,19 +569,19 @@ The required status check for `main` is:
557569

558570
Current status:
559571

560-
- `v0.3.0` is published as the current GitHub Release and PyPI package;
561-
- `v0.2.3` remains the previous published GitHub Release and PyPI package baseline;
572+
- `v0.4.0` is published as the current GitHub Release and PyPI package;
573+
- `v0.3.0` remains the previous published GitHub Release and PyPI package baseline;
562574
- no stable support or API guarantee yet;
563-
- release tag `v0.3.0` points to the verified release SHA;
575+
- release tag `v0.4.0` points to the verified release SHA;
564576
- local CLI behavior implemented;
565577
- governance diagnostics, structured finding evidence, and evidence redaction are implemented;
566-
- `doctor`, `budget`, and `explain` are implemented as v0.3.0 commands, while `dedupe` and `conflicts` are implemented on current `main` as post-v0.3.0 read-only command additions;
578+
- `doctor`, `budget`, `explain`, `dedupe`, and `conflicts` are implemented as v0.4.0 read-only command surfaces;
567579
- CI active;
568580
- branch protection is active with the required `local-checks / Python 3.12` status check;
569581
- the `pypi` GitHub environment exists for the release publishing workflow;
570-
- `.github/workflows/publish-pypi.yml` published `v0.3.0` through PyPI Trusted Publishing and remains the release publishing workflow;
582+
- `.github/workflows/publish-pypi.yml` published `v0.4.0` through PyPI Trusted Publishing and remains the release publishing workflow;
571583
- README screenshots are generated from real local CLI commands;
572-
- post-v0.3.0 functional contract evidence is documented in `docs/POST-V0.3.0-FUNCTIONAL-CONTRACT-EVIDENCE.md`;
584+
- v0.4.0 release notes and release evidence are documented in `docs/V0.4.0-RELEASE-NOTES.md` and `docs/V0.4.0-RELEASE-EVIDENCE.md`;
573585
- security boundaries documented;
574586
- threat model documented.
575587

SECURITY.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,21 @@ It is not a security scanner, provides no security guarantees, and must not be d
66

77
## Supported versions
88

9-
`v0.3.0` is the current published GitHub Release and PyPI package.
9+
`v0.4.0` is the current published GitHub Release and PyPI package.
1010

11-
`v0.2.3` remains the previous published GitHub Release and PyPI package baseline.
11+
`v0.3.0` remains the previous published GitHub Release and PyPI package baseline.
1212

1313
The project is still maintained on a best-effort basis. There is no commercial SLA, no guaranteed response time, and no guarantee that every security-relevant issue will be found or fixed.
1414

1515
| Version | Status |
1616
| --- | --- |
17-
| 0.3.x | Current published GitHub Release line / best-effort security fixes |
18-
| 0.2.x | Previous published line / limited best-effort fixes |
17+
| 0.4.x | Current published GitHub Release line / best-effort security fixes |
18+
| 0.3.x | Previous published line / limited best-effort fixes |
19+
| 0.2.x | Historical line / limited best-effort fixes |
1920
| 0.1.x | Historical pre-release line / not supported |
2021
| < 0.1 | Not supported |
2122

22-
`agent-rules-kit==0.3.0` is published on PyPI. Future PyPI availability claims must be verified per release before updating this policy.
23+
`agent-rules-kit==0.4.0` is published on PyPI. Future PyPI availability claims must be verified per release before updating this policy.
2324

2425
## Security boundaries
2526

@@ -70,7 +71,7 @@ agent-rules-kit does not aim to:
7071

7172
## Maintainer response
7273

73-
Security response is best-effort for the current published `0.3.x` GitHub Release line.
74+
Security response is best-effort for the current published `0.4.x` GitHub Release line.
7475

7576
There is no commercial SLA or guaranteed response time.
7677

SUPPORT.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ There is no commercial SLA, no guaranteed response time, no production-readiness
66

77
## Current published line
88

9-
`v0.3.0` is the current published GitHub Release and PyPI package line.
9+
`v0.4.0` is the current published GitHub Release and PyPI package line.
1010

11-
`v0.2.3` remains the previous published GitHub Release and PyPI package baseline.
11+
`v0.3.0` remains the previous published GitHub Release and PyPI package baseline.
1212

1313
## Package availability
1414

1515
The current published package is:
1616

17-
agent-rules-kit==0.3.0
17+
agent-rules-kit==0.4.0
1818

1919
Future PyPI availability claims must be verified per release before updating this policy.
2020

docs/OUTPUTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Implemented command surface:
1818
- `agent-rules-kit conflicts`;
1919
- `agent-rules-kit explain`.
2020

21-
`doctor`, `budget`, and `explain` are implemented as v0.3.0 command baselines. `dedupe` and `conflicts` are implemented on current `main` after v0.3.0 and must not be described as published package behavior until the next release is cut and verified. Release publication is verified by the dedicated GitHub Release and PyPI workflow evidence, not by this output contract alone.
21+
The full command surface listed above is implemented in the published v0.4.0 command baseline. Release publication is verified by the dedicated GitHub Release and PyPI workflow evidence, not by this output contract alone.
2222

2323
## Contract status
2424

docs/PRODUCT-STRATEGY.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Product Strategy Roadmap
22

3-
This document defines the product direction for agent-rules-kit after the published v0.3.0 GitHub Release and PyPI package, with current post-v0.3.0 maintenance hardening on main.
3+
This document defines the product direction for agent-rules-kit after the published v0.4.0 GitHub Release and PyPI package.
44

55
It is a strategy document, not an implementation plan for a specific feature. It must not be used to claim capabilities that are not already implemented.
66

77
## Current product truth
88

9-
agent-rules-kit has a published v0.3.0 GitHub Release and PyPI package line. `v0.2.3` remains the previous published GitHub Release and PyPI package baseline. Current main contains post-v0.3.0 `dedupe` and `conflicts` command additions plus maintenance hardening. The next public release target is v0.4.0, not a v0.3.x patch, because the new commands expand the compatible command surface.
9+
agent-rules-kit has a published v0.4.0 GitHub Release and PyPI package line. `v0.3.0` remains the previous published GitHub Release and PyPI package baseline. The v0.4.0 release publishes the compatible `dedupe` and `conflicts` command additions plus maintenance hardening that landed after v0.3.0.
1010

1111
The implemented product currently supports:
1212

@@ -28,7 +28,6 @@ The implemented product does not yet provide:
2828

2929
- governance scoring;
3030
- cross-file consistency analysis;
31-
- instruction conflict detection;
3231
- exact tokenizer-specific token accounting;
3332
- policy profiles;
3433
- remediation workflows;
@@ -266,13 +265,12 @@ Candidate criteria:
266265
- private vulnerability reporting path or explicit documented alternative;
267266
- no unsupported security or maturity claims.
268267

269-
## Next implementation direction after v0.3.0
268+
## Next implementation direction after v0.4.0
270269

271270
The next implementation phase should be justified against the current repository state, not against older strategy snapshots.
272271

273272
Good next candidates are narrow and evidence-backed:
274273

275-
- v0.4.0 release preparation for the current `dedupe` and `conflicts` command additions, after final audit evidence is complete;
276274
- release and package smoke hardening;
277275
- README, support, security, and strategy public-truth checks;
278276
- supply-chain workflow additions only after dedicated evaluation phases;
@@ -287,8 +285,8 @@ Decision: keep product strategy as the boundary document after v0.2.
287285

288286
Reason:
289287

290-
- v0.3.0 already published the local diagnosis toolkit baseline;
291-
- current main contains post-v0.3.0 `dedupe` and `conflicts` command additions plus maintenance hardening that must be released, if approved, as v0.4.0 rather than a patch release;
288+
- v0.4.0 publishes the current local instruction-governance command baseline;
289+
- future post-v0.4.0 work should avoid broadening the tool before machine-readable output and renderer structure are improved;
292290
- adjacent tools still cover repository packaging, context frameworks, and broad rule generation better than this project should;
293291
- the real product wedge remains instruction governance;
294292
- future features must be justified against this document to avoid scope drift.

docs/THREAT-MODEL.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Threat Model
22

3-
This document defines the threat model for agent-rules-kit. It was last reviewed for the published v0.3.0 release line and the current post-v0.3.0 main state, including the published v0.3.0 doctor, budget, and explain command surface and the current-main post-v0.3.0 dedupe and conflicts read-only command additions.
3+
This document defines the threat model for agent-rules-kit. It was last reviewed for the published v0.4.0 release line, including the read-only check, init, doctor, budget, explain, dedupe, and conflicts command surface.
44

55
It is intentionally narrow. agent-rules-kit is a local CLI for diagnosing AI agent instruction files. It is not a security scanner, malware detector, CI/CD auditor, sandbox, secret manager, or autonomous remediation agent.
66

@@ -14,13 +14,13 @@ In scope for the current release line and current main state:
1414
- read-only doctor repository diagnosis summaries;
1515
- read-only budget size and context-pressure approximation output;
1616
- read-only explain output for local governance rule IDs;
17-
- read-only dedupe duplicate instruction-line detection on current main as a post-v0.3.0 addition;
18-
- read-only conflicts contradictory-guidance detection on current main as a post-v0.3.0 addition;
17+
- read-only dedupe duplicate instruction-line detection;
18+
- read-only conflicts contradictory-guidance detection;
1919
- explicit init planning;
2020
- explicit init write behavior for baseline AGENTS.md creation or replacement with backup;
2121
- secret-like value redaction in findings and output.
2222

23-
`dedupe` and `conflicts` are current-main post-v0.3.0 additions. They must not be represented as published PyPI package behavior until a later release is cut, published, and verified.
23+
`dedupe` and `conflicts` are included in the published v0.4.0 command surface after release publication and PyPI verification.
2424

2525
Out of scope:
2626

@@ -163,7 +163,7 @@ Before release, verify:
163163
- backups are created before replacing existing AGENTS.md;
164164
- no runtime network or LLM dependency was introduced;
165165
- no repository command execution was introduced;
166-
- post-v0.3.0 `dedupe` and `conflicts` command boundaries remain read-only if they are included in the next release scope;
166+
- `dedupe` and `conflicts` command boundaries remain read-only in the v0.4.0 release scope;
167167
- secret-like examples in tests and docs are fake or redacted;
168168
- README does not claim security guarantees;
169169
- CI is green for the release SHA.

0 commit comments

Comments
 (0)