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
6 changes: 3 additions & 3 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# two schemas disagreeing on the same enum
#
# Local repro:
# yamllint schemas/ .github/
# yamllint schemas/ .github/ (colons disabled: agent-spec v1 aligns $ref columns)
# lychee --offline --no-progress --include-fragments=full --include-mail=false '**/*.md'
# npm --prefix packages/aux-audit ci && npm --prefix packages/aux-audit test

Expand Down Expand Up @@ -48,11 +48,11 @@ jobs:

- name: Lint schemas
run: |
yamllint -d "{extends: relaxed, rules: {line-length: {max: 200}}}" schemas/
yamllint -d "{extends: relaxed, rules: {line-length: {max: 200}, colons: disable}}" schemas/

- name: Lint workflows + Issue templates
run: |
yamllint -d "{extends: relaxed, rules: {line-length: {max: 200}}}" .github/
yamllint -d "{extends: relaxed, rules: {line-length: {max: 200}, colons: disable}}" .github/

- name: Install jsonschema
run: pip install --quiet jsonschema
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ Publishing the GitHub release and tagging `v0.2` is a manual step after merge.

### Notes

- `agent-spec.schema.yaml` is now v1.0: real JSON Schema draft 2020-12, with a
per-action `mandate` requiring `enforced_by`. The previous format is frozen as
`agent-spec.v0.yaml` and is what `aux-audit` 0.1.x still reads; handed a v1
document, the CLI reports a version mismatch instead of missing fields
([#10](https://github.com/auxfirst/trustkit/issues/10)).

- `evolution_stage` is reported as `human-assessed` and is always `null` in
`aux-audit`. The capability axis is defined in
`schemas/aux-evolution-curve.yaml` (E01 Reactive → E04 Personally
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,10 @@ Or read **[onboarding/README.md](onboarding/README.md)** — the router with all
│ ├── trust-gap-taxonomy.yaml ← named failure modes
│ ├── aux-evolution-curve.yaml ← the 4 capability stages (teardowns only)
│ ├── trust-contract.yaml ← example Trust Contract
│ ├── agent-spec.schema.yaml ← audit input format (v0.1.0, superseded — #10)
│ ├── agent-spec.schema.yaml ← v1.0, real JSON Schema — per-action mandate
│ ├── agent-spec.v0.yaml ← v0.1.0, frozen; what aux-audit 0.1.x reads
│ ├── MIGRATION.md ← v0 → v1, and why
│ ├── migrate-v0-to-v1.py ← converter; leaves TODOs rather than guessing
│ ├── brain-spec.schema.yaml ← Agency Brain input format (JSON Schema)
│ └── memory-policy.schema.yaml ← memory governance format
Expand Down
2 changes: 1 addition & 1 deletion docs/audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ npx aux-audit run ./agent-spec.yaml

## Contract

- **Input:** an agent spec matching [`schemas/agent-spec.schema.yaml`](../schemas/agent-spec.schema.yaml) — v0.1.0, superseded; see [#10](https://github.com/auxfirst/trustkit/issues/10).
- **Input:** an agent spec matching [`schemas/agent-spec.v0.yaml`](../schemas/agent-spec.v0.yaml). The canonical [`agent-spec.schema.yaml`](../schemas/agent-spec.schema.yaml) is now v1.0; aux-audit 0.1.x does not score it yet and says so plainly rather than reporting missing fields — see [MIGRATION.md](../schemas/MIGRATION.md) and [#10](https://github.com/auxfirst/trustkit/issues/10).
- **Output:** `score`, `grade`, `trust_stage`, `issues[]`, `recommendations[]`.
- **Formats:** Markdown (default), JSON, SARIF 2.1.0.
- **Exit codes:** `0` clean · `1` findings at or above `--fail-on` · `2` invalid spec (nothing graded).
Expand Down
4 changes: 3 additions & 1 deletion packages/aux-audit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ Change the YAML in `schemas/`, and the audit changes with it. No heuristic text,

**aux-audit grades the spec, not the running product.** It can prove a mechanism was never declared. It cannot prove a declared one works.

There is a sharper limit in the current input format, tracked in [trustkit#10](https://github.com/auxfirst/trustkit/issues/10): `agent-spec.schema.yaml` v0.1.0 carries a single per-agent `autonomy` label and free-text `guarantees`, so a score reflects a **declared posture**, not an enforced boundary. The replacement assigns authority action by action and requires a mechanism on every non-autonomous row.
There is a sharper limit in the format this version reads, tracked in [trustkit#10](https://github.com/auxfirst/trustkit/issues/10): `agent-spec.v0.yaml` carries a single per-agent `autonomy` label and free-text `guarantees`, so a score reflects a **declared posture**, not an enforced boundary.

The replacement, `agent-spec.schema.yaml` v1.0, is published and assigns authority action by action with a required `enforced_by` on every non-autonomous row. **aux-audit 0.1.x does not score it.** Hand it a v1 document and it says so in one line and exits 2, rather than reporting the fields v1 removed on purpose as missing. v1 scoring lands in 0.2.0.

Two consequences, both deliberate:

Expand Down
Loading
Loading