Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .changeset/adopt-agents-audit-version-line.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
---

`@workspacejson/cli` adopts `agents-audit`'s version line at `0.5.0`, set
directly in `packages/cli/package.json` rather than derived from a changeset —
changesets bumps relative to the current version and cannot jump `0.1.0` to
`0.5.0`. This changeset is intentionally empty so `changeset status` stays clean
for a release whose number was chosen, not computed.

From `0.5.0` onward the normal flow applies: add a changeset, run
`pnpm changeset version`, tag `cli-vX.Y.Z` to match.
2 changes: 1 addition & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
"ignore": ["agents-audit"]
}
5 changes: 4 additions & 1 deletion .github/workflows/publish-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ name: Publish @workspacejson/cli
# Release flow:
# pnpm changeset version # bumps packages/cli/package.json + CHANGELOG
# git commit -am "release: ..." && git push
# git tag cli-v0.1.0 && git push --tags
# git tag cli-v0.5.0 && git push --tags
#
# The version line continues `agents-audit`, which is frozen at 0.4.4, so this
# package starts at 0.5.0 rather than 0.1.0.
#
# The tag is both the trigger and the source of truth for the version: it is
# validated as clean semver and asserted equal to the manifest before anything
Expand Down
20 changes: 14 additions & 6 deletions OWNERSHIP.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ script is what enforces it.
| Directory | Package | Distribution | Role |
| -- | -- | -- | -- |
| `packages/cli/` | `@workspacejson/cli` | public, published from here on `cli-v*` tags | the neutral workspace.json producer and its `workspacejson` binary |
| `packages/agents-audit-compat/` | `agents-audit` | public, published `0.4.4` | frozen compatibility bridge for the historical `agents-audit` command and API |
| `packages/agents-audit-compat/` | `agents-audit` | public, **frozen at `0.4.4`** — no further releases | frozen compatibility bridge for the historical `agents-audit` command and API |

## Owns

Expand Down Expand Up @@ -121,16 +121,24 @@ Guard: `neutral-producer-purity`.

| Package | Publishable from here | Current authority |
| -- | -- | -- |
| `agents-audit` | metadata says yes; **workflow disabled** | `workspace-json/agents-audit` until META-243 |
| `agents-audit` | **No** — frozen at `0.4.4`, no workflow publishes it | `workspace-json/agents-audit` published `0.4.4` and remains its registry owner |
| `@workspacejson/cli` | **Yes** — `.github/workflows/publish-cli.yml`, on `cli-v*.*.*` tags | this repository (META-236 settled the name; no prior authority existed) |
| `@workspacejson/datahub-adapter` | **No** — extracted under META-248; redefining it here is a guard failure | `workspacejson/datahub-agent` (internal module, unpublished) |
| `@workspacejson/spec`, `@workspacejson/rules` | **Never** — not owned here | `workspacejson/standard` |

This repository holds one publish-capable secret, `NPM_TOKEN`, scoped to
`@workspacejson/cli`. `agents-audit` remains published by
`workspace-json/agents-audit` until META-243, so the two packages release on
disjoint tag namespaces (`cli-v*` and, later, its own) and no single workflow
holds authority over both.
`@workspacejson/cli`.

`agents-audit` is frozen at `0.4.4` and locked for hackathon judging; all forward
development moves to `@workspacejson/cli`, which continues its version line from
`0.5.0`. Two mechanisms keep the freeze from being merely a convention: no
workflow in this repository publishes `agents-audit`, and `.changeset/config.json`
lists it under `ignore`, so a workspace-wide `changeset version` cannot bump it.

The published `agents-audit@0.4.4` declares no dependency on
`@workspacejson/cli` — it is self-contained, so freezing it leaves nothing
dangling on the registry. That dependency exists only in this working tree,
which has never shipped.

## Migration source and provenance

Expand Down
36 changes: 30 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,37 @@ Requires Node.js >= 20.

## Publishing

**Publishing from this repository is disabled.** The release workflow has no
enabled trigger, holds no npm credential and contains no publish step.
`workspace-json/agents-audit` remains the sole publisher of `agents-audit` until
the coordinated authority cutover in META-243.
The two packages release independently, on disjoint tag namespaces, so no single
workflow ever holds authority over both.

`@workspacejson/cli` has never been published. Do not document
`npm install @workspacejson/cli` as if it works.
| Package | Publisher | Tag |
| -- | -- | -- |
| `@workspacejson/cli` | this repository, [`publish-cli.yml`](./.github/workflows/publish-cli.yml) | `cli-v*.*.*` |
| `agents-audit` | **frozen at `0.4.4`** — not published from here | none |

`@workspacejson/cli` continues `agents-audit`'s version line, starting at
`0.5.0`. `agents-audit` is locked for hackathon judging and receives no further
releases; it is excluded from changesets via `ignore` so a workspace-wide
version run cannot bump it by accident.

To release `@workspacejson/cli`:

```bash
pnpm changeset version # bumps packages/cli/package.json + CHANGELOG
git commit -am "release: ..." && git push
git tag cli-v0.5.0 && git push --tags
```

The tag is both the trigger and the source of truth for the version: it is
validated as clean semver and asserted equal to the manifest before anything
reaches the registry, so a tag that disagrees with `package.json` fails the run
rather than publishing a version nobody named.

**`agents-audit` is not published from here, and is not scheduled to be.** It is
frozen at `0.4.4`; `workspace-json/agents-audit` published that release and
remains its registry owner. The unreleased entries in its changelog exist in
this working tree but will not ship under that name — the shared producer
changes among them reach users through `@workspacejson/cli` instead.

## Provenance

Expand Down
16 changes: 13 additions & 3 deletions packages/agents-audit-compat/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# Changelog

## [Unreleased]
> **`agents-audit` is frozen at `0.4.4`.** The published package is locked for
> hackathon judging and this repository does not publish it. All forward
> development moves to `@workspacejson/cli`, which continues this version line
> at `0.5.0`.
>
> The entries under [Unreleased] exist in this working tree but will not ship
> under the `agents-audit` name. Where they changed the shared producer they
> reach users through `@workspacejson/cli`; where they changed this package's own
> `scan` and presenter surface they remain unreleased.

## [Unreleased — will not ship under this package name]

### Patch Changes

Expand All @@ -16,7 +26,7 @@
- `generate --check --dry-run` now fires the drift gate (exit 1, "manual evidence is untouched") instead of the dry-run branch silently winning and exiting 0; the JSON projection is still printed under `--dry-run`. Deferred from 0.4.4 (META-157) because it changes exit-code semantics; landed here as its own reviewed change with regression tests watched red against the pre-change CLI.
- `generate` now surfaces `invalidFileMoved` (result data that has existed since 0.4.3 but was never displayed): when a previous `.agents/workspace.json` was invalid and moved aside, the CLI prints where it was relocated to and that its manual evidence could not be recovered.

## [0.4.4] - Unreleased
## [0.4.4] - 2026-07-23

### Patch Changes

Expand All @@ -34,7 +44,7 @@
- @workspacejson/rules@0.4.3
- @workspacejson/spec@0.4.3

## 0.4.2
## [0.4.2] - 2026-07-17

### Patch Changes

Expand Down
27 changes: 21 additions & 6 deletions packages/cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,26 @@
# Changelog — `@workspacejson/cli`

## [Unreleased]

**This package has never been published.** It is not on npm, and must not be
documented as installable until the coordinated publish-authority cutover
(META-243). The working public command today is `npx agents-audit generate`,
which runs this same producer implementation.
## [0.5.0] - Unreleased

First release under the `workspacejson` name, and the continuation of
`agents-audit`'s version line. That package is frozen at `0.4.4` — locked for
hackathon judging — and all forward development happens here, so the numbering
carries over rather than restarting.

**Why `0.5.0` and not `0.4.5`.** Measured against `agents-audit@0.4.4`, this
binary *removes* surface: there is no `scan` command, no config file (see
Notes), and the binary itself is renamed from `agents-audit` to `workspacejson`.
A patch bump would promise a drop-in successor, and the first thing a migrating
user would hit is a missing command. Under 0.x, breaking changes go in the minor
slot.

Migrating from `agents-audit@0.4.4`:

| Before | After |
| -- | -- |
| `npx agents-audit generate` | `npx workspacejson generate` |
| `npx agents-audit scan` | no equivalent — the producer does not audit |
| `.agentsauditrc` | not read (see Notes) |

### Changed

Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@workspacejson/cli",
"version": "0.1.0",
"version": "0.5.0",
"description": "The workspace.json producer — scans a repository and generates .agents/workspace.json deterministically, preserving human-authored manual evidence.",
"license": "Apache-2.0",
"author": "workspace.json contributors",
Expand Down
Loading