@agentskit/doc-bridge 1.11.1 → 1.12.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/README.md +3 -2
  3. package/action.yml +1 -1
  4. package/dist/cli/program.js +582 -471
  5. package/dist/cli/program.js.map +1 -1
  6. package/dist/index.d.ts +7 -2
  7. package/dist/index.js +500 -389
  8. package/dist/index.js.map +1 -1
  9. package/docs/DESIGN.md +71 -0
  10. package/docs/MARKETPLACE-ECOSYSTEM-PLAN.md +1 -1
  11. package/docs/PRD-enterprise-hardening.md +5 -5
  12. package/docs/PRD-knowledge-retrieval-and-enrichment.md +1 -1
  13. package/docs/knowledge-engine-runbook.md +1 -1
  14. package/docs/loop-workflow.md +15 -15
  15. package/docs/spec/config-v1.md +29 -7
  16. package/docs/spec/documentation-standard-v1.md +5 -0
  17. package/docs/spec/mcp-knowledge-tools-v1.md +1 -1
  18. package/docs/validation-cycle-plan.md +13 -13
  19. package/ecosystem-claims.json +17 -17
  20. package/ecosystem-upstream.json +2 -2
  21. package/ecosystem.json +300 -147
  22. package/mcpb/manifest.json +1 -1
  23. package/package.json +2 -1
  24. package/skills/doc-bridge-handoff/SKILL.md +1 -1
  25. package/skills/doc-bridge-handoff/scripts/resolve-handoff.mjs +1 -1
  26. package/src/conformance/ecosystem-contract.ts +10 -26
  27. package/src/discovery/repository.ts +7 -1
  28. package/src/findings/report.ts +1 -1
  29. package/src/fixes/proposals.ts +4 -2
  30. package/src/gates/run-gates.ts +1 -1
  31. package/src/index-builder/human-adapters/core.ts +10 -4
  32. package/src/lib/ignore-filter.ts +151 -0
  33. package/src/lib/walk.ts +10 -2
  34. package/src/memory/ingest.ts +1 -1
  35. package/src/report/html.ts +1 -1
  36. package/src/safety/repository.ts +9 -0
  37. package/src/version.ts +1 -1
  38. package/docs/DOGFOOD-ROUND2.md +0 -147
  39. package/docs/DOGFOOD-ROUND3.md +0 -79
  40. package/docs/DOGFOOD-V1.md +0 -89
  41. package/docs/DOGFOOD.md +0 -97
package/docs/DESIGN.md ADDED
@@ -0,0 +1,71 @@
1
+ # Doc Bridge Design
2
+
3
+ This guide adapts the AgentsKit homepage visual system to Doc Bridge. The product story remains specific: repository knowledge moves between people and agents, with human review at the boundary. Keep documentation pages calm and readable; homepage effects must never leak into docs or interior routes.
4
+
5
+ ## Principles
6
+
7
+ - Use the local AgentsKit home and `agentskit/docs/DESIGN.md` as the source of shared brand decisions.
8
+ - Prefer hierarchy, space, and typography over decorative panels. Use glass only on focused chrome such as the product header, chat, and footer.
9
+ - Make the knowledge handoff visible: source docs → structured context → agent action → reviewable human-owned draft.
10
+ - Lead the home with a three-part map: human documentation sources → Doc Bridge → agent context, with agent memory returning as a reviewable draft.
11
+ - Keep all interface copy in English and state product claims in terms users can verify.
12
+
13
+ ## Tokens
14
+
15
+ | Role | Token | Dark value | Use |
16
+ | --- | --- | --- | --- |
17
+ | Canvas | `--ak-bg` | `#0d1117` | Default homepage background |
18
+ | Raised surface | `--ak-surface` | `#161b22` | Code, chat, and handoff surfaces |
19
+ | Border | `--ak-border` | `#30363d` | Dividers and quiet outlines |
20
+ | Foreground | `--ak-fg` | `#e6edf3` | Primary text |
21
+ | Muted | `--ak-muted` | `#8b949e` | Eyebrows and supporting labels |
22
+ | Blue | `--ak-blue` | `#58a6ff` | Links and navigation cues |
23
+ | Green | `--ak-green` | `#2ea043` | Doc Bridge handoff / verified state |
24
+
25
+ Use `--bridge-home-*` aliases in the homepage CSS when a component needs a role-specific name. The imported `brand-tokens.css` is generated; do not edit it directly. Keep the documentation theme independent from homepage-only surface styling.
26
+
27
+ ## Type
28
+
29
+ - Use the system sans stack for home display and body text; use `--ak-font-mono` for commands, technical labels, and compact metrics.
30
+ - Headlines use tight tracking and a clear scale; body copy remains comfortable at 16px or larger where it carries explanation.
31
+ - Avoid long all-caps text. Eyebrows are short, muted, and letter-spaced.
32
+
33
+ ## Background and glass
34
+
35
+ - Keep one shared near-black canvas across the complete home. Ambient color comes from the shared `<agentskit-aurora>` layer (fixed, `aria-hidden`, no pointer events, honours reduced motion).
36
+ - Use translucent surfaces and backdrop blur for the product header, handoff proof, footer, and chat. Borders should remain visible against both the canvas and surface.
37
+ - Keep ordinary content sections open on the canvas. Avoid a card around every content group or competing colored section backgrounds.
38
+
39
+ ## Borders and radii
40
+
41
+ - Use a 24px radius for the primary handoff demonstration and chat window; use 12–16px for compact technical surfaces and controls.
42
+ - Prefer one-pixel neutral borders and restrained separators. Primary actions may use a pill shape; secondary actions stay quiet and outlined.
43
+
44
+ ## Motion
45
+
46
+ - Animate the hero map's connectors to show repository knowledge moving toward agents and memory returning to people. Motion must remain subtle, loop slowly, and preserve readable static content.
47
+ - Use short easing for hover/focus transitions. Do not animate documentation content or introduce cursor effects on interior routes.
48
+ - Under `prefers-reduced-motion`, remove ambient cursor motion and stop proof animation without hiding information.
49
+
50
+ ## Responsive behavior
51
+
52
+ - Keep the hero map as three clear columns on desktop and stack its human, bridge, and agent areas on mobile. Hide the desktop connector paths on narrow screens and retain a readable static sequence.
53
+ - Collapse principle and flow rows to a single column on narrow screens; keep command blocks horizontally scrollable rather than widening the page.
54
+ - Test narrow mobile widths for clipped copy, controls, and horizontal overflow.
55
+
56
+ ## Accessibility
57
+
58
+ - Maintain WCAG AA contrast for normal text and visible keyboard focus for links and controls.
59
+ - Give decorative gradients and motion `aria-hidden`; keep the handoff stages and return path understandable in document order without animation.
60
+ - Honor reduced motion. Preserve usable touch targets and keyboard dismissal for navigation and chat.
61
+
62
+ ## Reused components
63
+
64
+ - The ecosystem bar, home tour (`<agentskit-ecosystem current="doc-bridge" data-visual="agentskit-home">`), footer (`<agentskit-footer>` with a static fallback), aurora, and `.ak-product-wordmark` styles come from the hosted AgentsKit shell (`{NEXT_PUBLIC_AGENTSKIT_SHELL_ORIGIN}/shell/v1.css` and `v1.js`, default origin `https://www.agentskit.io`). Nothing shell-related is self-hosted; the GitHub Star action lives only in the bar.
65
+ - Keep the home canvas, fonts, and interaction styles in `apps/docs/app/home.css`, imported by the home route only. Documentation routes keep the base stylesheet and calmer Fumadocs layout.
66
+ - The home reuses the AgentsKit brand tokens without adding a UI dependency.
67
+ - Install commands use the same tab pattern as AgentsKit and expose one copyable command per package manager.
68
+ - The proof terminal follows the AgentsKit demo pattern: colored code tokens, a slowly advancing active step, pause on hover or keyboard focus, manual play/pause, and a static reduced-motion mode.
69
+ - The proof terminal reveals demo, index, and resolve output in sequence. Stage tabs are keyboard operable; hover and focus pause the sequence, and reduced-motion users see a static first frame.
70
+ - The footer is the shared `<agentskit-footer current="doc-bridge">`. Its server-rendered fallback lists the six ecosystem products (current one marked `aria-current="page"`), the repository, and the license.
71
+ - Product navigation, the animated handoff proof, and chat remain Doc Bridge components with shared visual tokens.
@@ -9,7 +9,7 @@ This slice is complete only when all conditions below are evidenced locally. Pub
9
9
 
10
10
  - Composite Action validates committed freshness, accepts shell inputs only through quoted environment variables, pins its runtime package, and pins third-party Actions by SHA.
11
11
  - Marketplace metadata, consumer example, release-owner checklist, and automated contract checks agree on the same version.
12
- - The public portal exposes seven ecosystem products, six Doc Bridge peers, and contextual routes for Chat, Code Review, and AKOS.
12
+ - The public portal exposes seven ecosystem products, six Doc Bridge peers, and contextual routes for Chat and Code Review.
13
13
  - `/for-agents`, `llms.txt`, `llms-full.txt`, raw Markdown, and deterministic knowledge are public and cross-linked.
14
14
  - Human docs remain concise and navigable; source-heavy detail stays in raw/full machine surfaces.
15
15
  - Landing and documentation pages have no horizontal overflow at 375, 768, 1280, or 1440 pixels.
@@ -157,7 +157,7 @@ The enterprise contract will be strict by default:
157
157
 
158
158
  - Add a precision/recall evaluation runner whose fixtures contain expected entities, relations, documentation claims, findings, and unsupported boundaries.
159
159
  - Enforce 100% recall and at least 95% precision for the supported fixture matrix before an enterprise profile can pass.
160
- - Keep the agentskit-os result as a real-world baseline, not as a semantic truth set.
160
+ - Keep the reference-monorepo result as a real-world baseline, not as a semantic truth set.
161
161
  - Add finding density, category distribution, evidence completeness, and change-over-time metrics.
162
162
  - Make package/module/file reconciliation scope configurable while retaining raw file-level evidence.
163
163
 
@@ -247,7 +247,7 @@ Tests must validate externally observable behavior and the real artifact. Unit t
247
247
 
248
248
  ### Consumer validation
249
249
 
250
- - Install the exact packed artifact in agentskit-os.
250
+ - Install the exact packed artifact in the reference monorepo.
251
251
  - Run the full Doc Bridge workflow against the real monorepo.
252
252
  - Validate its discovered architecture, documentation inventory, reconciliation findings, Registry proposals, report, agent search efficiency, and all applicable product surfaces.
253
253
  - Keep endpoint/database checks conditional on actual project behavior and record non-applicability explicitly.
@@ -265,7 +265,7 @@ The enterprise hardening initiative is complete only when all of the following h
265
265
  - The default Registry agent and an alternate configured Registry agent pass their bounded-assistance contract.
266
266
  - Real CLI and MCP package checks pass.
267
267
  - Real-browser UI checks pass with zero automated failures and explicit human visual approval.
268
- - The agentskit-os dogfood run produces a reproducible, anonymization-safe metric record.
268
+ - The reference-monorepo dogfood run produces a reproducible, anonymization-safe metric record.
269
269
  - Documentation, configuration references, release notes, and structural ADR/RFC records are updated.
270
270
  - Any external issue, PR, or ticket transition is recorded only after explicit authorization and includes the exact verification run ID.
271
271
  - Residual limitations are visible in the final report; enterprise readiness is not claimed while any required gate is pending.
@@ -277,11 +277,11 @@ The enterprise hardening initiative is complete only when all of the following h
277
277
  - Perfect resolution of arbitrary reflection, runtime metaprogramming, or generated code without project-provided metadata.
278
278
  - Full implementation of every future language analyzer in this initiative.
279
279
  - Replacing specialized security scanners, compilers, test runners, API contract tools, or database migration tools.
280
- - Making the current agentskit-os documentation debt disappear as a prerequisite for improving Doc Bridge; that debt remains a measured consumer outcome.
280
+ - Making the current reference-monorepo documentation debt disappear as a prerequisite for improving Doc Bridge; that debt remains a measured consumer outcome.
281
281
 
282
282
  ## Further Notes
283
283
 
284
- - The current agentskit-os dogfood run is evidence for the product but is not a truth set for semantic precision. A separate fixture corpus is mandatory.
284
+ - The current reference-monorepo dogfood run is evidence for the product but is not a truth set for semantic precision. A separate fixture corpus is mandatory.
285
285
  - The current baseline and cycle history must remain immutable unless a human explicitly authorizes a baseline replacement.
286
286
  - The implementation should proceed in vertical slices: common contracts and metrics first, analyzer/coverage next, workflow/profile hardening next, Registry and documentation quality next, and complete CLI/MCP/report validation last.
287
287
  - Each slice must run the local harness before consuming CI resources. A failed or unavailable required validation blocks completion and must be recorded with the reason.
@@ -245,7 +245,7 @@ A library enters the runtime dependency list only when it is deterministic, has
245
245
  | `Retriever`, `RetrievedDocument` | `createDocBridgeRetriever` returns `RetrievedDocument[]` with `metadata: { kind, path, evidence, explain, confidence }`, so `createHybridRetriever`, `createRerankedRetriever`, `formatRetrievedDocuments` and the runtime consume Doc Bridge unchanged |
246
246
  | `compileBudget`, `approximateCounter` | `knowledge.lookup` and `handoff.resolve` accept `budgetTokens`; sections drop in a declared order until the payload fits; the response reports `tokens.total`, `fits` and what was dropped |
247
247
  | `createApprovalGate`, `ApprovalStore` | overlay approvals, with a file-backed store under `.doc-bridge/approvals/`, shared by the CLI, MCP and the rendered review page |
248
- | `Finding`, `SEVERITY_ORDER` | `ak-docs check --json --format finding` and MCP `docbridge.diagnostics { format: 'finding' }` emit the canonical shape so Code Review, AKOS and dashboards need no Doc Bridge specific parser |
248
+ | `Finding`, `SEVERITY_ORDER` | `ak-docs check --json --format finding` and MCP `docbridge.diagnostics { format: 'finding' }` emit the canonical shape so Code Review and dashboards need no Doc Bridge specific parser |
249
249
  | `fuzzyMatchList` | entity resolution in the Markdown analyzer and the query layer: one candidate at or above 0.92 resolves with `confidence: 'fuzzy'` and evidence, two candidates stay unresolved |
250
250
  | `GraphMemory` | `createDocBridgeGraphMemory(snapshot, overlay)` exposes the projected graph through `getNode`, `findEdges` and `traverse` |
251
251
  | `bm25Score`, `createHybridRetriever` | the optional RAG path becomes hybrid over the same projection entries, and a vector store is never required |
@@ -23,7 +23,7 @@ ak-docs map --html --output .doc-bridge/report.html
23
23
 
24
24
  Expected artifacts are under `.doc-bridge/workflow/`: `manifest.json`, immutable stage artifacts, `transitions.jsonl`, and `last-known-good.json`. The HTML report is standalone and can be opened directly without a server or network.
25
25
 
26
- The safe repository walk excludes common generated trees, including `dist`, `build`, `.next`, `out`, `.turbo`, `.svelte-kit`, `.mcpb-build`, and `.mcpb-output`, so generated output is reported as a coverage boundary rather than mistaken for source architecture. Add a project-specific `safety.exclude` pattern when another tool generates code outside these conventions.
26
+ The safe repository walk excludes common generated trees, including `dist`, `build`, `.next`, `out`, `.turbo`, `.svelte-kit`, `.mcpb-build`, and `.mcpb-output`, so generated output is reported as a coverage boundary rather than mistaken for source architecture. It also skips every path the repository ignores (Git ignore rules, or the `.gitignore` files on disk outside Git). Add a project-specific `safety.exclude` pattern when another tool generates code outside these conventions.
27
27
 
28
28
  ## Safe fixes
29
29
 
@@ -25,19 +25,19 @@ So the eleven workstreams live in two places on purpose: the GitHub sub-issues o
25
25
 
26
26
  ## Workstream map
27
27
 
28
- | Workstream | Linear | GitHub spec | Start state | Blocked by |
29
- | --- | --- | --- | --- | --- |
30
- | KR-07 Retrieval benchmark and CI gate | AGE-1660 | [#176](https://github.com/AgentsKit-io/doc-bridge/issues/176) | Todo, Urgent | — |
31
- | KR-01 Lexical ranking and full corpus | AGE-1661 | [#170](https://github.com/AgentsKit-io/doc-bridge/issues/170) | Todo, High | — |
32
- | KR-02 Markdown analyzer on remark | AGE-1662 | [#171](https://github.com/AgentsKit-io/doc-bridge/issues/171) | Todo, High | — |
33
- | KR-03 Code areas and area scope | AGE-1663 | [#172](https://github.com/AgentsKit-io/doc-bridge/issues/172) | Todo, High | — |
34
- | KR-05 Per-entity hashes, incremental scan | AGE-1664 | [#174](https://github.com/AgentsKit-io/doc-bridge/issues/174) | Todo, High | — |
35
- | KR-04 Graph layer on graphology | AGE-1665 | [#173](https://github.com/AgentsKit-io/doc-bridge/issues/173) | Backlog | KR-02, KR-03 |
36
- | KR-06 Retrieval projection and ranking | AGE-1666 | [#175](https://github.com/AgentsKit-io/doc-bridge/issues/175) | Backlog | KR-01…KR-05 |
37
- | KR-08 Budgeted MCP tools, measured doctor | AGE-1667 | [#177](https://github.com/AgentsKit-io/doc-bridge/issues/177) | Backlog | KR-06, KR-07 |
38
- | KR-09 Markdown renderings on knap | AGE-1668 | [#178](https://github.com/AgentsKit-io/doc-bridge/issues/178) | Backlog | KR-03, KR-05, KR-06 |
39
- | KR-10 Enrichment overlay | AGE-1669 | [#179](https://github.com/AgentsKit-io/doc-bridge/issues/179) | Backlog | KR-04, KR-05, KR-06 |
40
- | KR-11 Overlay stats, assisted study arm | AGE-1670 | [#180](https://github.com/AgentsKit-io/doc-bridge/issues/180) | Backlog | KR-07, KR-10 |
28
+ | Workstream | GitHub spec | Start state | Blocked by |
29
+ | --- | --- | --- | --- |
30
+ | KR-07 Retrieval benchmark and CI gate | [#176](https://github.com/AgentsKit-io/doc-bridge/issues/176) | Todo, Urgent | — |
31
+ | KR-01 Lexical ranking and full corpus | [#170](https://github.com/AgentsKit-io/doc-bridge/issues/170) | Todo, High | — |
32
+ | KR-02 Markdown analyzer on remark | [#171](https://github.com/AgentsKit-io/doc-bridge/issues/171) | Todo, High | — |
33
+ | KR-03 Code areas and area scope | [#172](https://github.com/AgentsKit-io/doc-bridge/issues/172) | Todo, High | — |
34
+ | KR-05 Per-entity hashes, incremental scan | [#174](https://github.com/AgentsKit-io/doc-bridge/issues/174) | Todo, High | — |
35
+ | KR-04 Graph layer on graphology | [#173](https://github.com/AgentsKit-io/doc-bridge/issues/173) | Backlog | KR-02, KR-03 |
36
+ | KR-06 Retrieval projection and ranking | [#175](https://github.com/AgentsKit-io/doc-bridge/issues/175) | Backlog | KR-01…KR-05 |
37
+ | KR-08 Budgeted MCP tools, measured doctor | [#177](https://github.com/AgentsKit-io/doc-bridge/issues/177) | Backlog | KR-06, KR-07 |
38
+ | KR-09 Markdown renderings on knap | [#178](https://github.com/AgentsKit-io/doc-bridge/issues/178) | Backlog | KR-03, KR-05, KR-06 |
39
+ | KR-10 Enrichment overlay | [#179](https://github.com/AgentsKit-io/doc-bridge/issues/179) | Backlog | KR-04, KR-05, KR-06 |
40
+ | KR-11 Overlay stats, assisted study arm | [#180](https://github.com/AgentsKit-io/doc-bridge/issues/180) | Backlog | KR-07, KR-10 |
41
41
 
42
42
  ## One workstream at a time
43
43
 
@@ -87,9 +87,9 @@ ak-harness loop status # what Orca knows: en
87
87
 
88
88
  ```bash
89
89
  ak-harness loop debrief # in flight, held, escalated, cooldowns — reads local state only
90
- ak-harness loop watch --issue AGE-1661 # DONE | FAILED | ACTION_REQUIRED | PROGRESS
90
+ ak-harness loop watch --issue ABC-123 # DONE | FAILED | ACTION_REQUIRED | PROGRESS
91
91
  ak-harness loop paused # workstreams auto-paused after repeated failures
92
- ak-harness loop resume AGE-1661 # clear a pause, or remove the loop:paused label in Linear
92
+ ak-harness loop resume ABC-123 # clear a pause, or remove the loop:paused label in Linear
93
93
  ak-harness loop retro --since 7d # digest plus one knob to turn in loop.config.yaml
94
94
  ```
95
95
 
@@ -375,16 +375,16 @@ These gates are deterministic lint checks, not editorial grading:
375
375
 
376
376
  ### Why `index-reproducible` is opt-in
377
377
 
378
- A scan walks what is on disk and has no reason to consult `.gitignore`, so a generated module or
379
- document joins the corpus on a machine that has built and leaves it on one that has not. That is
380
- harmless while the index is regenerated on every run, and a defect the moment the index is
381
- committed for a gate to verify: two checkouts of the same commit produce different artifacts,
382
- `index-freshness` reports staleness that nothing caused, and regenerating cannot fix it because the
383
- next machine disagrees in the other direction.
378
+ Every repository scan honours ignore rules (see [Ignored files](#ignored-files)), so a fresh
379
+ `ak-docs index` never picks up build output. An index can still carry an ignored path when it was
380
+ built before the rule existed, or by an older Doc Bridge release. Once the index is committed for a
381
+ gate to verify, that is a defect: two checkouts of the same commit produce different artifacts,
382
+ `index-freshness` reports staleness that nothing caused, and regenerating on another machine
383
+ disagrees in the other direction.
384
384
 
385
385
  `index-reproducible` asks Git which of the indexed paths it ignores, and names each one with the
386
386
  rule that matched (`apps/docs-next/.gitignore:13:lib/ask-context.ts`) so the fix is one lookup
387
- away: add the path to `safety.exclude`. It reports success, not failure, when the index is not
387
+ away: run `ak-docs index` again, or add the path to `safety.exclude` if it is not ignored by Git. It reports success, not failure, when the index is not
388
388
  committed or the project is not a Git checkout — there is nothing to reproduce in either case. A
389
389
  file that is both tracked and matched by an ignore rule is not flagged; being committed is the
390
390
  point.
@@ -624,6 +624,28 @@ secret files. `safety.exclude` adds project-specific patterns; it does not
624
624
  replace the built-in safety boundary. Excluded files remain outside the
625
625
  snapshot and are represented by analyzer coverage when relevant.
626
626
 
627
+ ### Ignored files
628
+
629
+ On top of those excludes, every command that walks the repository — `index`,
630
+ `doctor`, `scan`/`check`, gates such as `index-reproducible`, link-fix
631
+ proposals — skips what the repository ignores, so a committed index is a
632
+ function of committed content:
633
+
634
+ - Inside a Git work tree the file list comes from
635
+ `git ls-files --cached --others --exclude-standard`. That applies nested
636
+ `.gitignore` files, `.git/info/exclude` and global excludes exactly like
637
+ `git status`, keeps untracked files that are not ignored, and keeps a
638
+ tracked file even when an ignore rule also matches it.
639
+ - Outside Git (an exported tarball, a cache, no `git` binary) Doc Bridge reads
640
+ the `.gitignore` files on disk, nested ones included, with the same pattern
641
+ semantics.
642
+
643
+ Build output such as `apps/*/.next/`, `.source/`, generated API pages,
644
+ `next-env.d.ts`, or an `AGENTS.md` that a dev server writes therefore stays
645
+ out of the index as long as the repository ignores it. Agent-memory ingestion
646
+ (`ak-docs memory ingest`) is the exception: memory directories are read as
647
+ input even when they are gitignored.
648
+
627
649
  ## `analysis` (optional)
628
650
 
629
651
  ```ts
@@ -108,6 +108,11 @@ The ecosystem contract files are committed, network-free consumer snapshots of t
108
108
  AgentsKit `ecosystem.json` v2 manifest and `ecosystem-claims.json` ledger. The gate verifies
109
109
  their schema relationship, product identity parity, the adopting product ID, and that declared
110
110
  cross-links occur both in the manifest's public surfaces and in repository documentation.
111
+ Product membership comes from the manifest itself: no product is required by name, so a
112
+ product that the canonical manifest drops or hides (for example with `navigation.showInBar:
113
+ false`) does not have to be kept as a placeholder record. The deprecated `properties` shim is
114
+ optional; when present, each entry must name a distinct `products[]` record and repeat its
115
+ name, domain, URL, repository, tagline, kind, accent, and machine surfaces exactly.
111
116
  Doc Bridge also records the upstream ref and SHA-256 digests in `ecosystem-upstream.json`;
112
117
  `pnpm check:ecosystem-upstream` compares the local snapshots with AgentsKit `main` in CI.
113
118
  This network parity check is deliberately separate from the runtime conformance profile, which
@@ -105,7 +105,7 @@ docbridge.diagnostics { "format": "finding" }
105
105
  ```
106
106
 
107
107
  Both emit every reconciliation diagnostic as a `Finding` from `@agentskit/core/finding`, with
108
- severities drawn from `SEVERITY_ORDER`, so Code Review, AKOS and dashboards read Doc Bridge with no
108
+ severities drawn from `SEVERITY_ORDER`, so Code Review and dashboards read Doc Bridge with no
109
109
  parser of their own. Internal severities map `error → high`, `warn → medium`, `info → low`,
110
110
  `off → info`; nothing is `critical`, because a documentation finding never takes a system down.
111
111
  `title` is the code as words, `detail` the message, `category` the status, `location` the first
@@ -7,7 +7,7 @@ description: Evidence-driven validation of Doc Bridge against the AgentsKit OS r
7
7
 
8
8
  ## Objective
9
9
 
10
- Validate the complete Doc Bridge change against `agentskit-os`, not only the published package or the HTML report. The validation must prove the bridge between repository structure, documentation, agents, and humans:
10
+ Validate the complete Doc Bridge change against the reference monorepo, not only the published package or the HTML report. The validation must prove the bridge between repository structure, documentation, agents, and humans:
11
11
 
12
12
  1. repository architecture is discovered at package, module, and file levels;
13
13
  2. documentation is classified, indexed, and checked for freshness;
@@ -47,7 +47,7 @@ This plan is a validation contract. A green result from one cycle never substitu
47
47
 
48
48
  ### Cycle 1 — Real consumer and reproducibility
49
49
 
50
- **Purpose:** prove the published package is the artifact used by `agentskit-os` and that the pipeline is repeatable.
50
+ **Purpose:** prove the published package is the artifact used by the reference monorepo and that the pipeline is repeatable.
51
51
 
52
52
  **Checks:** install the declared package version, run discovery, index, reconcile, check, report, and Registry agent using the target repository.
53
53
 
@@ -92,7 +92,7 @@ This plan is a validation contract. A green result from one cycle never substitu
92
92
 
93
93
  **Purpose:** prove that documented architecture and observed architecture agree at the declared semantic level.
94
94
 
95
- **Checks:** use representative package/module declarations and known-positive, known-negative, stale, conflicting, unresolved, and dynamic relation cases; run the same policy against `agentskit-os`.
95
+ **Checks:** use representative package/module declarations and known-positive, known-negative, stale, conflicting, unresolved, and dynamic relation cases; run the same policy against the reference monorepo.
96
96
 
97
97
  **Success metrics:**
98
98
 
@@ -104,7 +104,7 @@ This plan is a validation contract. A green result from one cycle never substitu
104
104
 
105
105
  ### Phase 3 — Real-artifact documentation inventory
106
106
 
107
- The first AKOS audit exposed that the repository contains multiple documentation
107
+ The first reference-monorepo audit exposed that the repository contains multiple documentation
108
108
  surfaces. A single `documentedDocumentCount / documentCount` ratio mixed the 27
109
109
  agent-corpus documents with human guides, project files, archives, and
110
110
  unclassified Markdown. Doc Bridge now reports deterministic document counts by
@@ -112,7 +112,7 @@ classification and marks `docs-archive` as `archive`; the report highlights the
112
112
  agent-corpus ratio separately. This keeps the metric useful without hiding the
113
113
  full inventory.
114
114
 
115
- The phase gate is satisfied only when the real AKOS artifact reports the
115
+ The phase gate is satisfied only when the real reference-monorepo artifact reports the
116
116
  classification totals, the agent-corpus numerator/denominator, and evidence for
117
117
  the classification rule. A changed source revision or configuration invalidates
118
118
  the evidence and requires a new workflow and verification run.
@@ -195,7 +195,7 @@ The report exposes aggregate insights suitable for case studies, but publication
195
195
 
196
196
  ## Latest measured cycle
197
197
 
198
- Cycle 2 shipped Doc Bridge `1.7.20` to `agentskit-os` and added deterministic resolution of literal dynamic imports. The official workflow run is `1787934948972-14360`; the verification run is `1787935063723-14641`.
198
+ Cycle 2 shipped Doc Bridge `1.7.20` to the reference monorepo and added deterministic resolution of literal dynamic imports. The official workflow run is `1787934948972-14360`; the verification run is `1787935063723-14641`.
199
199
 
200
200
  - discovered entities: `12,930 → 12,937`;
201
201
  - raw relations: `40,921 → 41,300`;
@@ -207,7 +207,7 @@ Cycle 2 shipped Doc Bridge `1.7.20` to `agentskit-os` and added deterministic re
207
207
 
208
208
  The result is an improvement in semantic discovery, not proof that runtime wiring or non-literal loading is resolved. The next cycle should measure and improve those boundaries or add an explicit configuration/adapter path for projects that can provide runtime architecture evidence.
209
209
 
210
- Cycle 3 shipped Doc Bridge `1.7.21` to `agentskit-os` and added explicit `dynamic-literal` relation metadata plus benchmark counters for unresolved dynamic loading and runtime-wiring candidates. The official workflow run is `1787937333636-16849`; the verification run is `1787937404198-17113`.
210
+ Cycle 3 shipped Doc Bridge `1.7.21` to the reference monorepo and added explicit `dynamic-literal` relation metadata plus benchmark counters for unresolved dynamic loading and runtime-wiring candidates. The official workflow run is `1787937333636-16849`; the verification run is `1787937404198-17113`.
211
211
 
212
212
  - `379` literal dynamic-import relations are now identifiable in the snapshot;
213
213
  - `56` files contain non-literal loading that remains unresolved;
@@ -216,7 +216,7 @@ Cycle 3 shipped Doc Bridge `1.7.21` to `agentskit-os` and added explicit `dynami
216
216
  - entity/relation/documentation and agent-search metrics remained grounded, with agent search at `100%` hit rate and `1,067` estimated p95 tokens;
217
217
  - automated UI evidence passed across all 10 viewport/theme scenarios; human approval is required for the current report hash.
218
218
 
219
- Cycle 4 shipped Doc Bridge `1.7.24` to `agentskit-os` and added configurable JS/TS runtime-wiring detection for statically imported targets, explicit unresolved-wiring coverage, a runtime-wiring benchmark counter, and browser-runtime warmup for stable visual timing. The official workflow run is `1787938291045-21432`; the verification run is `1787938325493-21506`.
219
+ Cycle 4 shipped Doc Bridge `1.7.24` to the reference monorepo and added configurable JS/TS runtime-wiring detection for statically imported targets, explicit unresolved-wiring coverage, a runtime-wiring benchmark counter, and browser-runtime warmup for stable visual timing. The official workflow run is `1787938291045-21432`; the verification run is `1787938325493-21506`.
220
220
 
221
221
  - the real repository produced `12,937` entities and `41,300` raw relations;
222
222
  - package-level reconciliation compared `2,774` relations and produced `2,691` findings, all with evidence;
@@ -226,7 +226,7 @@ Cycle 4 shipped Doc Bridge `1.7.24` to `agentskit-os` and added configurable JS/
226
226
  - agent search remained at `100%` hit rate and `1,067` estimated p95 tokens with `99%` context reduction;
227
227
  - all 10 automated viewport/theme scenarios passed with no console errors, failed requests, overflow, clipping, or contrast violations; the screenshots were reviewed locally and the harness is awaiting explicit human approval.
228
228
 
229
- Cycle 5 shipped Doc Bridge `1.7.25` to `agentskit-os` and tightened the default runtime-wiring heuristic by making generic `bind` and `listen` calls opt-in while preserving explicit configuration. The official workflow run is `1787938899030-22694`; the verification run is `1787938967570-22837`.
229
+ Cycle 5 shipped Doc Bridge `1.7.25` to the reference monorepo and tightened the default runtime-wiring heuristic by making generic `bind` and `listen` calls opt-in while preserving explicit configuration. The official workflow run is `1787938899030-22694`; the verification run is `1787938967570-22837`.
230
230
 
231
231
  - the real repository remained stable at `12,937` entities, `41,300` raw relations, `2,774` compared relations, and `2,691` evidence-backed findings;
232
232
  - unresolved runtime-wiring candidates fell from `116` to `54` (`53.4%` reduction) by removing generic API false positives;
@@ -235,7 +235,7 @@ Cycle 5 shipped Doc Bridge `1.7.25` to `agentskit-os` and tightened the default
235
235
  - the explicit configuration path was covered by a fixture: `listen` is ignored by default and produces a relation when configured;
236
236
  - all 10 automated viewport/theme scenarios passed; the verification run is awaiting human visual approval.
237
237
 
238
- Cycle 6 shipped Doc Bridge `1.7.26` to `agentskit-os` and tightened unresolved-wiring coverage to require a potential target argument, excluding inline registrations and no-argument calls from architectural gaps while preserving identifiers, property accesses, and factory calls. The official workflow run is `1787939273593-23788`; the verification run is `1787939317943-23884`.
238
+ Cycle 6 shipped Doc Bridge `1.7.26` to the reference monorepo and tightened unresolved-wiring coverage to require a potential target argument, excluding inline registrations and no-argument calls from architectural gaps while preserving identifiers, property accesses, and factory calls. The official workflow run is `1787939273593-23788`; the verification run is `1787939317943-23884`.
239
239
 
240
240
  - the real repository remained stable at `12,937` entities, `41,300` raw relations, `2,774` compared relations, and `2,691` evidence-backed findings;
241
241
  - unresolved runtime-wiring candidates fell from `54` to `22` (`59.3%` reduction; `81.0%` reduction from the `116`-file starting point);
@@ -244,7 +244,7 @@ Cycle 6 shipped Doc Bridge `1.7.26` to `agentskit-os` and tightened unresolved-w
244
244
  - the known-case fixture retained both unresolved identifier detection and the explicit custom-method configuration path;
245
245
  - all 10 automated viewport/theme scenarios passed; the verification run is awaiting human visual approval.
246
246
 
247
- Cycle 7 shipped Doc Bridge `1.7.28` to `agentskit-os` and made the large-report overview payload package-scoped. The first load now carries package topology plus compact diagnostic indexes; module/file detail remains lazy. The official workflow run is `1787940069560-26699`; the verification run is `1787940112369-26783`.
247
+ Cycle 7 shipped Doc Bridge `1.7.28` to the reference monorepo and made the large-report overview payload package-scoped. The first load now carries package topology plus compact diagnostic indexes; module/file detail remains lazy. The official workflow run is `1787940069560-26699`; the verification run is `1787940112369-26783`.
248
248
 
249
249
  - the real repository remained stable at `12,937` entities, `41,300` raw relations, `2,774` compared relations, and `2,691` evidence-backed findings;
250
250
  - unresolved runtime-wiring candidates fell from `22` to `9` (`59.1%` additional reduction; `92.2%` reduction from the `116`-file starting point); test/spec runtime wiring is excluded by default and covered by an explicit opt-in fixture;
@@ -255,7 +255,7 @@ Cycle 7 shipped Doc Bridge `1.7.28` to `agentskit-os` and made the large-report
255
255
 
256
256
  ## Current known blockers after the measured dogfood cycle
257
257
 
258
- - package `1.7.28` is installed and verified in `agentskit-os`; the workflow run is `1787940069560-26699` and the verification run is `1787940112369-26783`;
258
+ - package `1.7.28` is installed and verified in the reference monorepo; the workflow run is `1787940069560-26699` and the verification run is `1787940112369-26783`;
259
259
  - the benchmark passed against the original anonymization-safe baseline; the detailed cycle measurements are recorded above;
260
260
  - the agent search fixture returned a grounded match for `100%` of queries, with p95 `1,067` estimated tokens and `99%` context reduction; reconciliation evidence coverage was `100%` for the `2,691` findings;
261
261
  - the visual check passed all automated checks across 10 viewport/theme scenarios, but the current verification run remains `AWAITING_HUMAN_APPROVAL` until a human reviews the screenshots and approves run `1787940112369-26783`;
@@ -266,4 +266,4 @@ The current run is `AWAITING_HUMAN_APPROVAL`, not complete. Discovery, package-l
266
266
 
267
267
  ### Phase 2 — Semantic classification measurement
268
268
 
269
- The next cycle adds a small, deterministic labeled benchmark around the real reconciliation function. It covers confirmed, undocumented, stale, not-analyzed, conflicting, and unresolved declarations. The acceptance threshold is exact per-case diagnostic classification with non-empty evidence, plus `1.000` finding precision, `1.000` finding recall, and `1.000` evidence ratio. The AKOS verification contract runs this gate directly against the checked-out Doc Bridge source so a later change cannot silently preserve only the aggregate report counts.
269
+ The next cycle adds a small, deterministic labeled benchmark around the real reconciliation function. It covers confirmed, undocumented, stale, not-analyzed, conflicting, and unresolved declarations. The acceptance threshold is exact per-case diagnostic classification with non-empty evidence, plus `1.000` finding precision, `1.000` finding recall, and `1.000` evidence ratio. The reference-monorepo verification contract runs this gate directly against the checked-out Doc Bridge source so a later change cannot silently preserve only the aggregate report counts.
@@ -59,7 +59,7 @@
59
59
  },
60
60
  {
61
61
  "id": "catalog-providers",
62
- "value": 184,
62
+ "value": 222,
63
63
  "noun": "providers",
64
64
  "evidence": {
65
65
  "type": "repository-derivation",
@@ -67,11 +67,11 @@
67
67
  "path": "scripts/compute-stats.mjs",
68
68
  "summary": "Providers in the committed model catalog snapshot."
69
69
  },
70
- "conservativeFloor": 180
70
+ "conservativeFloor": 220
71
71
  },
72
72
  {
73
73
  "id": "catalog-models",
74
- "value": 6297,
74
+ "value": 7870,
75
75
  "noun": "models",
76
76
  "evidence": {
77
77
  "type": "repository-derivation",
@@ -79,7 +79,7 @@
79
79
  "path": "scripts/compute-stats.mjs",
80
80
  "summary": "Models in the committed provider catalog snapshot."
81
81
  },
82
- "conservativeFloor": 6000
82
+ "conservativeFloor": 7000
83
83
  },
84
84
  {
85
85
  "id": "skills",
@@ -106,7 +106,7 @@
106
106
  },
107
107
  {
108
108
  "id": "recipes",
109
- "value": 71,
109
+ "value": 64,
110
110
  "noun": "recipes",
111
111
  "evidence": {
112
112
  "type": "repository-derivation",
@@ -114,7 +114,7 @@
114
114
  "path": "scripts/compute-stats.mjs",
115
115
  "summary": "Published recipe MDX pages excluding indexes and metadata."
116
116
  },
117
- "conservativeFloor": 71
117
+ "conservativeFloor": 64
118
118
  },
119
119
  {
120
120
  "id": "core-size-kb-gzip",
@@ -148,37 +148,37 @@
148
148
  "claims": []
149
149
  },
150
150
  {
151
- "productId": "playbook",
151
+ "productId": "doc-bridge",
152
152
  "source": {
153
- "type": "endpoint",
154
- "url": "https://playbook.agentskit.io/api/stats.json"
153
+ "type": "repository",
154
+ "repo": "AgentsKit-io/doc-bridge"
155
155
  },
156
156
  "verification": "declared",
157
157
  "claims": []
158
158
  },
159
159
  {
160
- "productId": "doc-bridge",
160
+ "productId": "code-review",
161
161
  "source": {
162
162
  "type": "repository",
163
- "repo": "AgentsKit-io/doc-bridge"
163
+ "repo": "AgentsKit-io/code-review"
164
164
  },
165
165
  "verification": "declared",
166
166
  "claims": []
167
167
  },
168
168
  {
169
- "productId": "code-review",
169
+ "productId": "harness",
170
170
  "source": {
171
- "type": "repository",
172
- "repo": "AgentsKit-io/code-review"
171
+ "type": "endpoint",
172
+ "url": "https://harness.agentskit.io/api/stats.json"
173
173
  },
174
174
  "verification": "declared",
175
175
  "claims": []
176
176
  },
177
177
  {
178
- "productId": "akos",
178
+ "productId": "playbook",
179
179
  "source": {
180
- "type": "declaration",
181
- "summary": "Public commercial references only; never use private implementation as contribution evidence."
180
+ "type": "endpoint",
181
+ "url": "https://playbook.agentskit.io/api/stats.json"
182
182
  },
183
183
  "verification": "declared",
184
184
  "claims": []
@@ -3,7 +3,7 @@
3
3
  "repository": "AgentsKit-io/agentskit",
4
4
  "ref": "main",
5
5
  "files": {
6
- "ecosystem.json": "21f28c132685f9984979afc83b66a61310e2bb79666d826662f7e8f234fbf36f",
7
- "ecosystem-claims.json": "6e77a801d93e58e6580fe5d69d8899bf8d396bffba367f3a705fa751aea83a06"
6
+ "ecosystem.json": "3810d9530566f8f44b959be95dadbef656b56d46097f45ba3b4502e86d7bc57b",
7
+ "ecosystem-claims.json": "5d0e52c420e73573a5f70dfd911236d671bc006500a1cae17c1a03a27dc2c8c7"
8
8
  }
9
9
  }