agent-doc-system 1.1.0 → 1.2.0
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/CHANGELOG.md +269 -0
- package/README.md +38 -0
- package/adapters/ansible.mjs +1 -1
- package/adapters/cache.mjs +8 -2
- package/adapters/contract-consumers.mjs +1 -1
- package/adapters/database.mjs +18 -4
- package/adapters/events.mjs +1 -1
- package/adapters/github-actions.mjs +244 -85
- package/adapters/go.mjs +1 -1
- package/adapters/index.mjs +3 -1
- package/adapters/object-store.mjs +2 -2
- package/adapters/python.mjs +1142 -0
- package/adapters/resource-client.mjs +1 -1
- package/adapters/rust.mjs +987 -0
- package/adapters/typescript.mjs +1 -1
- package/bin/agentdoc.mjs +2 -2
- package/core/audit.mjs +5 -3
- package/core/codes.mjs +4 -0
- package/core/compile.mjs +124 -11
- package/core/dependents.mjs +42 -0
- package/core/discover.mjs +60 -9
- package/core/fsx.mjs +17 -0
- package/core/graph.mjs +1 -1
- package/core/impact.mjs +55 -44
- package/core/query.mjs +18 -8
- package/core/scaffold.mjs +87 -22
- package/core/sourcescan.mjs +11 -2
- package/core/toml.mjs +463 -140
- package/docs/ADAPTERS.md +196 -6
- package/docs/BENCHMARK.md +68 -0
- package/docs/CI.md +1 -1
- package/docs/EVALS.md +33 -2
- package/docs/MIGRATION.md +4 -2
- package/docs/QUERY.md +53 -4
- package/docs/SPEC.md +22 -0
- package/docs/ci/github-actions.yml +1 -1
- package/evals/harness.mjs +32 -6
- package/evals/scenarios/fixture-b-03-change-shared-lib.json +8 -1
- package/evals/scenarios/fixture-c-03-shared-vocabulary.json +7 -1
- package/evals/scenarios/fixture-e-01-change-shared-lib.json +14 -0
- package/evals/scenarios/fixture-e-02-change-manifest.json +9 -0
- package/evals/scenarios/fixture-e-03-local-module.json +9 -0
- package/evals/scenarios/fixture-e-04-ambiguous-crate.json +14 -0
- package/evals/scenarios/fixture-f-01-change-shared-lib.json +9 -0
- package/evals/scenarios/fixture-f-02-change-manifest.json +9 -0
- package/evals/scenarios/fixture-f-03-shadowed-import.json +9 -0
- package/evals/scenarios/fixture-f-04-nested-workspace.json +9 -0
- package/evals/scenarios/fixture-f-05-alembic-database.json +9 -0
- package/evals/scenarios/fixture-f-06-unittest-job.json +9 -0
- package/package.json +2 -1
- package/skills/agent-doc-system/references/create-migrate.md +13 -3
- package/templates/ci.yml +1 -1
|
@@ -5,5 +5,11 @@
|
|
|
5
5
|
"touch": ["shared/index.js"],
|
|
6
6
|
"truth": ["component:default/shared", "component:default/edge", "component:default/console", "event:corp.telemetry.ingest.v1"],
|
|
7
7
|
"critical": ["event:corp.telemetry.ingest.v1"],
|
|
8
|
-
"verification": [
|
|
8
|
+
"verification": [
|
|
9
|
+
"verify:vitest run",
|
|
10
|
+
"verify:tsc --noEmit",
|
|
11
|
+
"verify-id:component:default/console:test",
|
|
12
|
+
"verify-id:component:default/console:typecheck",
|
|
13
|
+
"verify-id:component:default/edge:test"
|
|
14
|
+
]
|
|
9
15
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "e-01",
|
|
3
|
+
"repository": "fixture-e",
|
|
4
|
+
"title": "Change the shared engine crate",
|
|
5
|
+
"touch": ["crates/engine/src/lib.rs"],
|
|
6
|
+
"truth": ["component:default/engine", "component:default/cli"],
|
|
7
|
+
"critical": [],
|
|
8
|
+
"verification": [
|
|
9
|
+
"verify:cargo test -p engine",
|
|
10
|
+
"verify:cargo clippy -p engine",
|
|
11
|
+
"verify:cargo test -p cli",
|
|
12
|
+
"verify:cargo clippy -p cli"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "e-02",
|
|
3
|
+
"repository": "fixture-e",
|
|
4
|
+
"title": "Change the CLI crate manifest",
|
|
5
|
+
"touch": ["apps/cli/Cargo.toml"],
|
|
6
|
+
"truth": ["component:default/cli", "component:default/engine", "component:default/testutil", "external:serde"],
|
|
7
|
+
"critical": [],
|
|
8
|
+
"verification": ["verify:cargo test -p cli", "verify:cargo clippy -p cli"]
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "e-03",
|
|
3
|
+
"repository": "fixture-e",
|
|
4
|
+
"title": "Change CLI code that looks like the logging crate and an ambiguous foo_bar import",
|
|
5
|
+
"touch": ["apps/cli/src/logging.rs", "apps/cli/src/main.rs"],
|
|
6
|
+
"truth": ["component:default/cli", "component:default/engine"],
|
|
7
|
+
"critical": [],
|
|
8
|
+
"verification": ["verify:cargo test -p cli", "verify:cargo clippy -p cli"]
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "e-04",
|
|
3
|
+
"repository": "fixture-e",
|
|
4
|
+
"title": "Change each crate of the foo-bar / foo_bar pair",
|
|
5
|
+
"touch": ["crates/foo-bar/src/lib.rs", "crates/foo_bar/src/lib.rs"],
|
|
6
|
+
"truth": ["component:default/foo-bar", "component:default/foo-u-bar"],
|
|
7
|
+
"critical": [],
|
|
8
|
+
"verification": [
|
|
9
|
+
"verify:cargo test -p foo-bar",
|
|
10
|
+
"verify:cargo clippy -p foo-bar",
|
|
11
|
+
"verify:cargo test -p foo_bar",
|
|
12
|
+
"verify:cargo clippy -p foo_bar"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "f-01",
|
|
3
|
+
"repository": "fixture-f",
|
|
4
|
+
"title": "Change the shared ledger-core library",
|
|
5
|
+
"touch": ["libs/ledger-core/src/ledger_core/models.py"],
|
|
6
|
+
"truth": ["component:default/ledger-core", "component:default/ledger-api"],
|
|
7
|
+
"critical": [],
|
|
8
|
+
"verification": ["verify:uv run pytest", "verify:uv run ruff check", "verify:uv run mypy"]
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "f-02",
|
|
3
|
+
"repository": "fixture-f",
|
|
4
|
+
"title": "Change the ledger API manifest",
|
|
5
|
+
"touch": ["services/ledger-api/pyproject.toml"],
|
|
6
|
+
"truth": ["component:default/ledger-api", "component:default/ledger-core", "component:default/ledger-testing", "external:sqlalchemy"],
|
|
7
|
+
"critical": [],
|
|
8
|
+
"verification": ["verify:uv run pytest", "verify:uv run ruff check", "verify:uv run mypy"]
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "f-04",
|
|
3
|
+
"repository": "fixture-f",
|
|
4
|
+
"title": "Change a nested workspace member, not its parent",
|
|
5
|
+
"touch": ["python/packages/api/src/api_svc/main.py"],
|
|
6
|
+
"truth": ["component:default/api-svc", "component:default/core-lib"],
|
|
7
|
+
"critical": [],
|
|
8
|
+
"verification": []
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "f-05",
|
|
3
|
+
"repository": "fixture-f",
|
|
4
|
+
"title": "Change the ledger API Alembic migration",
|
|
5
|
+
"touch": ["services/ledger-api/alembic/versions/0001_init.py"],
|
|
6
|
+
"truth": ["component:default/ledger-api", "uses:resource:default/ledger-api-postgres"],
|
|
7
|
+
"critical": ["uses:resource:default/ledger-api-postgres"],
|
|
8
|
+
"verification": ["verify:uv run pytest", "verify:uv run ruff check", "verify:uv run mypy"]
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "f-06",
|
|
3
|
+
"repository": "fixture-f",
|
|
4
|
+
"title": "Change the ledger job exercised by unittest",
|
|
5
|
+
"touch": ["jobs/ledger-jobs/tests/test_jobs.py"],
|
|
6
|
+
"truth": ["component:default/ledger-jobs"],
|
|
7
|
+
"critical": [],
|
|
8
|
+
"verification": ["verify:python -m unittest discover"]
|
|
9
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-doc-system",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Portable documentation and software-catalog system with an explicit authority model, for AI coding agents",
|
|
6
6
|
"keywords": [
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"schemas",
|
|
43
43
|
"skills",
|
|
44
44
|
"templates",
|
|
45
|
+
"CHANGELOG.md",
|
|
45
46
|
"INSTALL_FOR_AGENTS.md"
|
|
46
47
|
],
|
|
47
48
|
"license": "MIT"
|
|
@@ -40,9 +40,19 @@ never copies the agentdoc implementation into the repository.
|
|
|
40
40
|
In `agentdoc.config.yaml`:
|
|
41
41
|
|
|
42
42
|
- Set `namespace`, fix `discovery.componentDescriptors` to match the real
|
|
43
|
-
layout, and enable the adapters for the technologies present. `
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
layout, and enable the adapters for the technologies present. `init`
|
|
44
|
+
pre-selects the language and deployment adapters whose manifests it finds:
|
|
45
|
+
`node`, `go`, `rust` and `python`, plus `dockerfile` and `wrangler`. It also
|
|
46
|
+
adds `database`, `openapi`, `events` and `github-actions`. Add the rest
|
|
47
|
+
(`pnpm`, `turborepo`, `typescript`, `protobuf`, `graphql`, `ansible`, …) when
|
|
48
|
+
the repository uses them. `adapters: []` is a valid but useless starting
|
|
49
|
+
point: with no adapter, a component descriptor is an unsupported claim and
|
|
50
|
+
compilation fails on purpose.
|
|
51
|
+
- An existing catalog does not gain new adapters on upgrade. After upgrading
|
|
52
|
+
the CLI, compare `adapters:` with the technologies present, for example a
|
|
53
|
+
repository with `Cargo.toml` or `pyproject.toml` units and no `rust` /
|
|
54
|
+
`python` entry. Then run `agentdoc audit`: newly visible units appear as
|
|
55
|
+
`AGENTDOC_COVERAGE_ZERO` until they have a descriptor.
|
|
46
56
|
- Three example authority rules are written **commented out**. Uncomment only
|
|
47
57
|
the ones you can justify, with the rationale in your own words. An authority
|
|
48
58
|
rule is a governance decision; the scaffolder does not make it for you.
|
package/templates/ci.yml
CHANGED
|
@@ -17,7 +17,7 @@ jobs:
|
|
|
17
17
|
with: { node-version: '24' }
|
|
18
18
|
- name: Install the agentdoc CLI
|
|
19
19
|
# Unpinned tracks main. For CI reproducibility pin a tag or commit:
|
|
20
|
-
# github:lbframe/agent-doc-system#v1.
|
|
20
|
+
# github:lbframe/agent-doc-system#v1.2.0
|
|
21
21
|
# A compiler upgrade intentionally invalidates committed graphs.
|
|
22
22
|
run: npm install -g github:lbframe/agent-doc-system
|
|
23
23
|
- name: Validate and compile
|