@nurix/etna 0.18.0 → 0.18.2
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/README.md +6 -5
- package/data/harness-index.json +1 -5
- package/data/harnesses/code/CLAUDE.md +8 -19
- package/data/harnesses/code/agents/brainstorm.md +3 -3
- package/data/harnesses/code/agents/change-review.md +13 -10
- package/data/harnesses/code/agents/harness-manager.md +15 -15
- package/data/harnesses/code/agents/maintenance.md +10 -3
- package/data/harnesses/code/agents/performance-review.md +5 -0
- package/data/harnesses/code/harness.json +1 -1
- package/data/harnesses/code/rules/general.md +40 -36
- package/data/harnesses/code/skills/boundary/SKILL.md +15 -42
- package/data/harnesses/code/skills/boundary/references/boundary-taxonomy.md +366 -304
- package/data/harnesses/code/skills/brainstorm/README.md +9 -9
- package/data/harnesses/code/skills/brainstorm/SKILL.md +15 -15
- package/data/harnesses/code/skills/brainstorm/harvest.md +3 -3
- package/data/harnesses/code/skills/brainstorm/templates/backlog.md +2 -2
- package/data/harnesses/code/skills/brainstorm/templates/build.md +6 -6
- package/data/harnesses/code/skills/brainstorm/templates/decisions.md +3 -3
- package/data/harnesses/code/skills/brainstorm/templates/doctrine.md +2 -2
- package/data/harnesses/code/skills/brainstorm/templates/domain-model.md +2 -2
- package/data/harnesses/code/skills/brainstorm/templates/glossary.md +2 -1
- package/data/harnesses/code/skills/brainstorm/templates/non-goals.md +3 -7
- package/data/harnesses/code/skills/brainstorm/templates/questions.md +6 -5
- package/data/harnesses/code/skills/brainstorm/templates/state.md +1 -8
- package/data/harnesses/code/skills/brainstorm/templates/tech.md +6 -6
- package/data/harnesses/code/skills/brainstorm/templates/thesis.md +2 -2
- package/data/harnesses/code/skills/distiller/SKILL.md +48 -177
- package/data/harnesses/code/skills/distiller/references/docs-mode.md +116 -343
- package/data/harnesses/code/skills/distiller/references/method.md +37 -109
- package/data/harnesses/code/skills/documentation/SKILL.md +9 -6
- package/data/harnesses/code/skills/documentation/references/examples.md +30 -61
- package/data/harnesses/code/skills/documentation/references/style-guide.md +59 -62
- package/data/harnesses/code/skills/documentation/references/templates.md +26 -34
- package/data/harnesses/code/skills/workflow-mapper/SKILL.md +32 -11
- package/data/harnesses/code/skills/workflow-mapper/references/patterns.md +1 -1
- package/data/harnesses/discover/CLAUDE.md +60 -113
- package/data/harnesses/discover/agents/api.md +11 -28
- package/data/harnesses/discover/agents/codebase.md +12 -30
- package/data/harnesses/discover/agents/community.md +9 -21
- package/data/harnesses/discover/agents/deployed-client-bundle.md +16 -67
- package/data/harnesses/discover/agents/distribution-artifacts.md +21 -59
- package/data/harnesses/discover/agents/docs.md +11 -20
- package/data/harnesses/discover/agents/infra-backend-fingerprint.md +28 -68
- package/data/harnesses/discover/agents/packages.md +12 -28
- package/data/harnesses/discover/agents/session.md +18 -50
- package/data/harnesses/discover/agents/website.md +9 -19
- package/data/harnesses/discover/agents/wire-capture.md +22 -72
- package/data/harnesses/discover/harness.json +1 -1
- package/data/harnesses/discover/rules/cartography-coverage.md +94 -0
- package/data/harnesses/discover/rules/cartography-flows.md +99 -0
- package/data/harnesses/discover/rules/cartography-ia.md +88 -0
- package/data/harnesses/discover/rules/cartography.md +109 -0
- package/data/harnesses/discover/rules/discovery.md +73 -182
- package/data/harnesses/discover/rules/evaluation.md +92 -98
- package/data/harnesses/discover/rules/ingestion.md +123 -322
- package/data/harnesses/discover/rules/self-correction.md +94 -107
- package/data/harnesses/discover/rules/tradecraft.md +201 -172
- package/data/harnesses/hr/CLAUDE.md +21 -51
- package/data/harnesses/hr/harness.json +1 -1
- package/data/harnesses/hr/skills/interview-eval/SKILL.md +23 -11
- package/data/harnesses/hr/skills/interview-eval/TEMPLATE.md +49 -29
- package/data/harnesses/hr/skills/interview-eval/rubric.md +30 -30
- package/data/harnesses/kb-agi/CLAUDE.md +8 -8
- package/data/harnesses/kb-agi/agents/kb-agi-init.md +31 -22
- package/data/harnesses/kb-agi/agents/kb-catch-stale.md +1 -1
- package/data/harnesses/kb-agi/agents/kb-find-gaps.md +1 -1
- package/data/harnesses/kb-agi/agents/kb-fix-links.md +1 -1
- package/data/harnesses/kb-agi/agents/kb-refresh-summaries.md +2 -2
- package/data/harnesses/kb-agi/agents/kb-sync-metadata.md +2 -2
- package/data/harnesses/kb-agi/harness.json +1 -1
- package/package.json +1 -1
- package/data/harnesses/code-fable/.prettierignore +0 -12
- package/data/harnesses/code-fable/.prettierrc.json +0 -3
- package/data/harnesses/code-fable/.vscode/settings.json +0 -10
- package/data/harnesses/code-fable/CLAUDE.md +0 -135
- package/data/harnesses/code-fable/agents/brainstorm.md +0 -35
- package/data/harnesses/code-fable/agents/change-review.md +0 -248
- package/data/harnesses/code-fable/agents/harness-manager.md +0 -181
- package/data/harnesses/code-fable/agents/maintenance.md +0 -115
- package/data/harnesses/code-fable/agents/performance-review.md +0 -218
- package/data/harnesses/code-fable/agents/spec-mode.md +0 -56
- package/data/harnesses/code-fable/harness.json +0 -12
- package/data/harnesses/code-fable/hooks/hooks.json +0 -27
- package/data/harnesses/code-fable/hooks/lib/redact.mjs +0 -35
- package/data/harnesses/code-fable/hooks/prompt-recall.mjs +0 -155
- package/data/harnesses/code-fable/hooks/session-reflect.mjs +0 -285
- package/data/harnesses/code-fable/rules/general.md +0 -79
- package/data/harnesses/code-fable/rules/nomenclature.md +0 -30
- package/data/harnesses/code-fable/rules/typescript.md +0 -19
- package/data/harnesses/code-fable/skills/boundary/SKILL.md +0 -76
- package/data/harnesses/code-fable/skills/boundary/references/boundary-taxonomy.md +0 -734
- package/data/harnesses/code-fable/skills/brainstorm/README.md +0 -136
- package/data/harnesses/code-fable/skills/brainstorm/SKILL.md +0 -135
- package/data/harnesses/code-fable/skills/brainstorm/harvest.md +0 -26
- package/data/harnesses/code-fable/skills/brainstorm/templates/backlog.md +0 -39
- package/data/harnesses/code-fable/skills/brainstorm/templates/build.md +0 -37
- package/data/harnesses/code-fable/skills/brainstorm/templates/decisions.md +0 -29
- package/data/harnesses/code-fable/skills/brainstorm/templates/doctrine.md +0 -31
- package/data/harnesses/code-fable/skills/brainstorm/templates/domain-model.md +0 -25
- package/data/harnesses/code-fable/skills/brainstorm/templates/glossary.md +0 -19
- package/data/harnesses/code-fable/skills/brainstorm/templates/milestones.md +0 -43
- package/data/harnesses/code-fable/skills/brainstorm/templates/non-goals.md +0 -21
- package/data/harnesses/code-fable/skills/brainstorm/templates/plan-doc.md +0 -61
- package/data/harnesses/code-fable/skills/brainstorm/templates/questions.md +0 -35
- package/data/harnesses/code-fable/skills/brainstorm/templates/references.md +0 -28
- package/data/harnesses/code-fable/skills/brainstorm/templates/rejected.md +0 -29
- package/data/harnesses/code-fable/skills/brainstorm/templates/state.md +0 -8
- package/data/harnesses/code-fable/skills/brainstorm/templates/tech.md +0 -23
- package/data/harnesses/code-fable/skills/brainstorm/templates/thesis.md +0 -21
- package/data/harnesses/code-fable/skills/distiller/SKILL.md +0 -219
- package/data/harnesses/code-fable/skills/distiller/references/docs-mode.md +0 -526
- package/data/harnesses/code-fable/skills/distiller/references/method.md +0 -166
- package/data/harnesses/code-fable/skills/documentation/SKILL.md +0 -125
- package/data/harnesses/code-fable/skills/documentation/references/examples.md +0 -193
- package/data/harnesses/code-fable/skills/documentation/references/style-guide.md +0 -288
- package/data/harnesses/code-fable/skills/documentation/references/templates.md +0 -865
- package/data/harnesses/code-fable/skills/workflow-mapper/SKILL.md +0 -430
- package/data/harnesses/code-fable/skills/workflow-mapper/references/patterns.md +0 -214
|
@@ -1,97 +1,78 @@
|
|
|
1
1
|
# Evaluation Templates
|
|
2
2
|
|
|
3
|
-
`evaluation` reads every `dimensions/<dim>/_summary.md` (its **provenance frontmatter** +
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
coherent picture, **weighted by how each claim was obtained**, with disagreements flagged.
|
|
3
|
+
`evaluation` reads every `dimensions/<dim>/_summary.md` (its **provenance frontmatter** + Findings) and reconciles them into **cross-dimension** documents under `research/<target>/evaluation/`. The value is the reconciliation — cross-checking views into one coherent picture, **weighted by how each claim was obtained**, with disagreements flagged.
|
|
4
|
+
|
|
5
|
+
> This file governs the **four reconciliation rollups** (technology-architecture, product-features, data-model-api-surface, competitive-positioning) + the README. The three **experiential** docs that also live under `evaluation/` — `information-architecture.md`, `ux-flows.md`, `feature-coverage.md` — are produced by **Mode 4 (Cartography)** and governed by `cartography.md`; Evaluation's rollups are their inputs (the entity spine → IA surface cards; the feature map → the coverage matrix), and Cartography's coverage scorecard feeds Mode 5's experiential-coverage axis.
|
|
7
6
|
|
|
8
7
|
**Three rules for every evaluation doc:**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
**
|
|
23
|
-
`distribution-artifacts` are mutually independent and independent of marketing. **`website` and
|
|
24
|
-
`docs` are NOT independent** for *feature claims* (docs often restate marketing) — two of them
|
|
25
|
-
agreeing is still one source. A bundle-declared route + a session-observed route ARE independent.
|
|
26
|
-
**Same artifact ⇒ one source.** Two dimensions that string-mine the *same* static asset (one bundle /
|
|
27
|
-
one spec / one binary) are **one source** — never a band-bump — even when they report different
|
|
28
|
-
counts; the divergent counts are a **reported range, not a flagged conflict** (`deployed-client-bundle`
|
|
29
|
-
278 vs `website` 361 over one bundle is one finding with a range, not corroboration and not a conflict).
|
|
30
|
-
**OSS distribution clients are an independent corroboration lane.** An API-surface claim resting on a
|
|
31
|
-
single *third-party* wrapper (a community MCP server, an unofficial SDK) is tentative — but a
|
|
32
|
-
**first-party open-source integration client** (`distribution-artifacts`: a Unity/Figma/CLI plugin or
|
|
33
|
-
published SDK source) that calls the same routes is **independent of both marketing and the third-party
|
|
34
|
-
wrapper**, and corroborates it → promotes. (A legacy/granular route family seen only in a third-party
|
|
35
|
-
MCP becomes a real finding once the official OSS client calls it too.)
|
|
36
|
-
|
|
37
|
-
**Open-core lineage as an absence oracle (independent corroboration of the open/closed seam).** When a
|
|
38
|
-
target is an **open-core product with a closed cloud edition** (a clonable `codebase` lineage repo + a
|
|
39
|
-
closed `session` runtime), a feature **verified ABSENT in the lineage repo** (grep/structure-map) **and
|
|
40
|
-
observed PRESENT in the cloud session** is **two independent lanes agreeing on the *seam*** → promotes the
|
|
41
|
-
open/closed-boundary claim to fact (the cloud-feature value itself stays a direct `session` observation).
|
|
42
|
-
The lineage repo is as useful as an *absence map* (what is NOT in the open floor) as it is a presence map;
|
|
43
|
-
"verified-absent-in-CE + observed-in-cloud" is independent of marketing and of the session alone. (Origin:
|
|
44
|
-
Akeneo — Reference Entities / DAM / Rules / Workflows observed in Serenity + grep-absent in Community Edition.)
|
|
45
|
-
|
|
46
|
-
**Closed-feedback confidence cap.** When the `community` dimension finds **no first-party feedback
|
|
47
|
-
loop** (no public issues / roadmap / changelog / forum — feedback funnelled to a gated channel), its
|
|
48
|
-
user-pain / most-requested-feature claims are **inference-from-changelog only → capped at
|
|
49
|
-
`low`/tentative**, never promoted on changelog frequency alone. The surface that *would* corroborate
|
|
50
|
-
user sentiment is `external-reputation` (a deferred dimension) — flag it as recommended-for-this-run
|
|
51
|
-
when this cap fires (see discovery Part C deferred-dimension trigger).
|
|
52
|
-
|
|
53
|
-
**Write-side-unobserved cap.** A `session` dimension carrying `write_side_observed: false` (a
|
|
54
|
-
Pass-1-only run) has observed feature *existence/gating* but **not** feature *execution behavior*. Any
|
|
55
|
-
marketed generate/submit/launch *behavior* claim therefore stays **tentative and is never promoted to
|
|
56
|
-
fact** from marketing/docs alone — render the write-side gap **once** from the frontmatter flag, not
|
|
57
|
-
re-hedged per rollup.
|
|
58
|
-
|
|
59
|
-
**Presentation mapping:** high → stated as fact; low/single-source → hedged as tentative;
|
|
60
|
-
conflicted → flagged. (This is the "lighter" form of the provenance-weighting — done inline in the
|
|
61
|
-
prose, not via a separate `claims.yaml`.)
|
|
8
|
+
|
|
9
|
+
1. **Anchor + tag every claim** with its dimension _and provenance_: `(api: raw/endpoint-catalog.md · openapi-verbatim · high)`. The method + confidence come verbatim from the source dimension's `_summary.md` frontmatter.
|
|
10
|
+
2. **Weight, don't average.** A claim's confidence = the **max** of its sources' confidence, **promoted one band only if corroborated by ≥2 _independent_ dimensions**, capped at source confidence when single-source. Conflicts are **flagged, never averaged**. **Tiebreaker — direct observation outranks inference.** When two sources conflict on the _same_ fact, a directly-observed value beats an inferred one regardless of dimension or stated confidence (a session-observed backend engine beats a DNS-inferred one; a live HTTP probe beats a single NXDOMAIN result). The inferred side is rendered tentative and never used to override the observation or to issue cross-dimension directives.
|
|
11
|
+
3. **Cross-check, don't concatenate.** Agree → state as fact. Disagree / single-source / low-conf → render hedged ("observed but unverified…") and flag in the doc's reconciliation section.
|
|
12
|
+
|
|
13
|
+
**Independence (for the promotion rule):** `codebase`, `api`, `session`, `wire-capture`, `distribution-artifacts` are mutually independent and independent of marketing. **`website` and `docs` are NOT independent** for _feature claims_ (docs often restate marketing) — two of them agreeing is still one source. A bundle-declared route + a session-observed route ARE independent. **Same artifact ⇒ one source.** Two dimensions that string-mine the _same_ static asset (one bundle / one spec / one binary) are **one source** — never a band-bump — even when they report different counts; the divergent counts are a **reported range, not a flagged conflict** (`deployed-client-bundle` 278 vs `website` 361 over one bundle is one finding with a range, not corroboration and not a conflict). **OSS distribution clients are an independent corroboration lane.** An API-surface claim resting on a single _third-party_ wrapper (a community MCP server, an unofficial SDK) is tentative — but a **first-party open-source integration client** (`distribution-artifacts`: a Unity/Figma/CLI plugin or published SDK source) that calls the same routes is **independent of both marketing and the third-party wrapper**, and corroborates it → promotes. (A legacy/granular route family seen only in a third-party MCP becomes a real finding once the official OSS client calls it too.)
|
|
14
|
+
|
|
15
|
+
**Open-core lineage as an absence oracle (independent corroboration of the open/closed seam).** When a target is an **open-core product with a closed cloud edition** (a clonable `codebase` lineage repo + a closed `session` runtime), a feature **verified ABSENT in the lineage repo** (grep/structure-map) **and observed PRESENT in the cloud session** is **two independent lanes agreeing on the _seam_** → promotes the open/closed-boundary claim to fact (the cloud-feature value itself stays a direct `session` observation). The lineage repo is as useful as an _absence map_ (what is NOT in the open floor) as it is a presence map; "verified-absent-in-CE + observed-in-cloud" is independent of marketing and of the session alone. (Origin: Akeneo — Reference Entities / DAM / Rules / Workflows observed in Serenity + grep-absent in Community Edition.)
|
|
16
|
+
|
|
17
|
+
**Closed-feedback confidence cap.** When the `community` dimension finds **no first-party feedback loop** (no public issues / roadmap / changelog / forum — feedback funnelled to a gated channel), its user-pain / most-requested-feature claims are **inference-from-changelog only → capped at `low`/tentative**, never promoted on changelog frequency alone. The surface that _would_ corroborate user sentiment is `external-reputation` (a deferred dimension) — flag it as recommended-for-this-run when this cap fires (see discovery Part C deferred-dimension trigger).
|
|
18
|
+
|
|
19
|
+
**Write-side-unobserved cap.** A `session` dimension carrying `write_side_observed: false` (a Pass-1-only run) has observed feature _existence/gating_ but **not** feature _execution behavior_. Any marketed generate/submit/launch _behavior_ claim therefore stays **tentative and is never promoted to fact** from marketing/docs alone — render the write-side gap **once** from the frontmatter flag, not re-hedged per rollup.
|
|
20
|
+
|
|
21
|
+
**Presentation mapping:** high → stated as fact; low/single-source → hedged as tentative; conflicted → flagged. (This is the "lighter" form of the provenance-weighting — done inline in the prose, not via a separate `claims.yaml`.)
|
|
62
22
|
|
|
63
23
|
---
|
|
64
24
|
|
|
65
25
|
## 1. `evaluation/technology-architecture.md`
|
|
26
|
+
|
|
66
27
|
```markdown
|
|
67
28
|
# <Target> — Technology & Architecture
|
|
68
|
-
|
|
69
|
-
##
|
|
70
|
-
|
|
71
|
-
##
|
|
72
|
-
|
|
73
|
-
##
|
|
29
|
+
|
|
30
|
+
## TL;DR (3–5 sentences; the single most distinctive choice)
|
|
31
|
+
|
|
32
|
+
## Stack (languages/frameworks/build/runtime — table, each anchored+tagged)
|
|
33
|
+
|
|
34
|
+
## Architecture (client/server split, packages+deps, runtime/sync/data model, transport)
|
|
35
|
+
|
|
36
|
+
## How it's built (monorepo layout, public/private, codegen, CI, release cadence)
|
|
37
|
+
|
|
38
|
+
## Notable design choices (the 3–5 worth stealing + why)
|
|
39
|
+
|
|
40
|
+
## Cross-dimension reconciliation (agreements/disagreements + confidence per claim)
|
|
41
|
+
|
|
74
42
|
## Open questions
|
|
75
43
|
```
|
|
76
44
|
|
|
77
45
|
## 2. `evaluation/product-features.md`
|
|
46
|
+
|
|
78
47
|
```markdown
|
|
79
48
|
# <Target> — Product Features & Capabilities
|
|
80
|
-
|
|
81
|
-
##
|
|
82
|
-
|
|
83
|
-
##
|
|
84
|
-
|
|
85
|
-
##
|
|
49
|
+
|
|
50
|
+
## What it does (one paragraph)
|
|
51
|
+
|
|
52
|
+
## Feature map (every capability · user · maturity GA/beta/docs-only — anchored+tagged)
|
|
53
|
+
|
|
54
|
+
## User-facing surfaces (dashboard/editor/components/CLI/widgets)
|
|
55
|
+
|
|
56
|
+
## User journeys (the 2–3 primary flows end-to-end)
|
|
57
|
+
|
|
58
|
+
## Gaps & rough edges (from community signal)
|
|
59
|
+
|
|
60
|
+
## Cross-dimension reconciliation (marketing claims vs. what code/docs actually support — flag over-claims)
|
|
86
61
|
```
|
|
87
62
|
|
|
88
63
|
## 3. `evaluation/data-model-api-surface.md`
|
|
64
|
+
|
|
89
65
|
```markdown
|
|
90
66
|
# <Target> — Data Model & API / SDK Surface
|
|
91
|
-
|
|
67
|
+
|
|
68
|
+
## Core entities (domain objects + relations; ER-style — when the runtime exposes an RBAC verb
|
|
69
|
+
|
|
92
70
|
taxonomy, derive the entity set from it: `X_CREATE/VIEW/EDIT/DELETE` ⇒ entity X)
|
|
93
|
-
|
|
94
|
-
##
|
|
71
|
+
|
|
72
|
+
## Integration surface (SDK/packages public API · REST/HTTP catalog · realtime/wire protocol)
|
|
73
|
+
|
|
74
|
+
## Published-vs-app-own API diff (emit WHENEVER the target publishes a developer/partner/MCP API —
|
|
75
|
+
|
|
95
76
|
common for mature SaaS, but not universal. The app the SPA runs on is frequently
|
|
96
77
|
a different, broader, differently-authed API than the published one: list ops the
|
|
97
78
|
app uses that the public API omits, AND public ops the app never calls — both are
|
|
@@ -100,55 +81,68 @@ prose, not via a separate `claims.yaml`.)
|
|
|
100
81
|
REQUIRES paired inputs (ingestion §6): the pre-nav in-page tap [session app-own
|
|
101
82
|
paths] + the unauth bundle/route-manifest [published paths]. Missing a lane → the
|
|
102
83
|
diff is un-feedable; say which lane is absent rather than implying overlap.)
|
|
103
|
-
|
|
104
|
-
##
|
|
84
|
+
|
|
85
|
+
## Auth & tenancy model (token type, where it lives, scope expression)
|
|
86
|
+
|
|
87
|
+
## API-path diff (adaptive, N-way over the runtime sources present) (the seam rule: bundle-declared vs
|
|
88
|
+
|
|
105
89
|
session-observed vs wire-observed. Title it for the sources ACTUALLY run —
|
|
106
90
|
enumerate only those lanes; an absent lane [session blocked / wire folded] is a
|
|
107
91
|
recorded gap, NOT a structural hole to apologize for. Dormant/unshipped routes
|
|
108
92
|
are findings.)
|
|
109
|
-
|
|
93
|
+
|
|
94
|
+
## Cross-dimension reconciliation (published surface [api/packages/docs] vs observed wire [session/
|
|
95
|
+
|
|
110
96
|
wire-capture]; document drift — published=fact, observed-drift=tentative)
|
|
97
|
+
|
|
111
98
|
## Open questions
|
|
112
99
|
```
|
|
113
100
|
|
|
114
101
|
## 4. `evaluation/competitive-positioning.md`
|
|
102
|
+
|
|
115
103
|
```markdown
|
|
116
104
|
# <Target> — Competitive Positioning
|
|
117
|
-
|
|
118
|
-
##
|
|
119
|
-
|
|
120
|
-
##
|
|
121
|
-
|
|
105
|
+
|
|
106
|
+
## Positioning (their pitch + market — website/blog)
|
|
107
|
+
|
|
108
|
+
## Pricing & packaging (plans, what gates what, unit economics — website pricing + platform/limits)
|
|
109
|
+
|
|
110
|
+
## Differentiation (claimed moat vs the teardown's read of the real moat — often infra/data)
|
|
111
|
+
|
|
112
|
+
## Alternatives & comparison (named competitors + how it differs)
|
|
113
|
+
|
|
114
|
+
## Strategic read (direction from changelog/blog)
|
|
122
115
|
```
|
|
123
116
|
|
|
124
117
|
---
|
|
125
118
|
|
|
126
119
|
## 5. `research/<target>/README.md` — the run story
|
|
120
|
+
|
|
127
121
|
```markdown
|
|
128
122
|
# <Target> — Recon Run
|
|
123
|
+
|
|
129
124
|
> One paragraph: what it is + why we ran recon.
|
|
130
|
-
|
|
131
|
-
##
|
|
132
|
-
|
|
133
|
-
##
|
|
134
|
-
|
|
125
|
+
|
|
126
|
+
## Access grade (the resolved vector — source/runtime/auth/presence — + matched case[s])
|
|
127
|
+
|
|
128
|
+
## Dimensions covered (table: dimension | status | method | confidence | headline finding)
|
|
129
|
+
|
|
130
|
+
## Headline findings (5–10, each anchored+tagged)
|
|
131
|
+
|
|
132
|
+
## How to navigate (00-scope-verdict.md, 00-recon-plan.md, dimensions/, evaluation/ [4 reconciliation rollups + Cartography's information-architecture / ux-flows / feature-coverage], 05-self-correction-proposal.md)
|
|
133
|
+
|
|
134
|
+
## Lessons (candidate methodology learnings → feed self-correction)
|
|
135
|
+
|
|
135
136
|
## Reproduction
|
|
136
137
|
```
|
|
137
138
|
|
|
138
139
|
---
|
|
139
140
|
|
|
140
141
|
## Evaluation method
|
|
141
|
-
|
|
142
|
-
|
|
142
|
+
|
|
143
|
+
1. Read every `dimensions/*/_summary.md` frontmatter first (the provenance index) — note method + confidence + status + gaps per dimension.
|
|
143
144
|
2. Read Findings; drop into specific `raw/` artifacts only when a claim needs a precise value.
|
|
144
|
-
3. Draft the four rollups + the README — each rollup may be drafted by its own sub-agent dispatched
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
every gap. A confident doc built on one low-confidence dimension is worse than an honest
|
|
149
|
-
"single-source, unverified."
|
|
150
|
-
|
|
151
|
-
> **Classifying a raw observation** — to turn a storage-key prefix, an auth tell, an envelope shape,
|
|
152
|
-
> or a realtime frame into a *named* stack finding, use the fingerprint tables in
|
|
153
|
-
> `tradecraft.md` (storage→stack, auth-provider, API-envelope, realtime-trap). They name what
|
|
154
|
-
> a finding *is*; this file governs how confidently to *state* it.
|
|
145
|
+
3. Draft the four rollups + the README — each rollup may be drafted by its own sub-agent dispatched from the **main session** (overlapping reads, independent writes), then a single reconciliation pass keeps them consistent.
|
|
146
|
+
4. Tag every claim with provenance; weight per the rules above; flag every disagreement; record every gap. A confident doc built on one low-confidence dimension is worse than an honest "single-source, unverified."
|
|
147
|
+
|
|
148
|
+
> **Classifying a raw observation** — to turn a storage-key prefix, an auth tell, an envelope shape, or a realtime frame into a _named_ stack finding, use the fingerprint tables in `tradecraft.md` (storage→stack, auth-provider, API-envelope, realtime-trap). They name what a finding _is_; this file governs how confidently to _state_ it.
|