# Knowledge, Experience & Evidence Map — reference contract

Contract: **JW-CV-MAP-SPEC-001 v0.3.0**. Map: **JW-CV-MAP-001**.

This release renders the five-node ACC-IMP-008 reference as a selectable SVG and
an equivalent searchable HTML relationship table. It does not assert full
accessibility compliance or establish empirical validity.
It documents the responsibility assigned in the September 27, 2026 register,
accepted by the owner on October 20 beneath his existing Senior Pastor role.
Assignment does not establish completion, measured results, current activity,
adoption of draft governance, or independent corroboration of a self-reported role.

## Authority and reconciliation

- Source: `evidence/external/staged/ACC-LAB.json`, entry
  `ACC-LAB:ACC-CV-ACTION-ACC-IMP-008`.
- Scoped decision: `evidence/external/approvals.json`, the same external ID.
- Placement: `cv/data/base-cv.json`, the existing Senior Pastor and Founder entry.
- Approval and placement were merged in [PR #47](https://github.com/jermainewhitesideedu/jermainewhiteside-cv/pull/47),
  commit `fb5a83731c5a8fa18098aa00438ef5b09f9e2cce`.

The decision URL uses a JSON Pointer fragment to identify a member of a JSON
document. It is not an HTML anchor or proof that a web browser resolves the member.

Pydantic validates shape, dates, identifiers and directed type combinations.
`reconcile_reference` separately reconstructs the expected map from repository
authority files and compares all nodes and edges, including labels, limitations,
hashes, decision references and scoped use. A syntactically valid `approved` edge
is rejected when these do not match. Missing, changed, withdrawn, held or unplaced
records fail closed. This is a bounded reference checker, not a general-purpose
approval engine. The repository authority files must be supplied by the trusted
build; accepting user-supplied authority files would defeat reconciliation.

Relationships are **derived from a scoped owner decision**, not independently
adjudicated relationship claims. They do not establish independent verification.
Contextual and pending edges can pass the structural schema without an approval;
they cannot pass reconciliation as this approved reference. Do not infer a theory
connection from two independently existing nodes.

## Hash definitions

- `receiver_content_hash`: existing 16-character SHA-256 prefix, currently
  `821c9ba62eb615e5`. Recomputed from the receiver's `STAGED_FIELDS` plus `cv_use`.
- `normalized_entry_sha256`: all 64 hexadecimal characters from that same
  normalization. It is **not a raw-file digest**.
- `decision_sha256`: full digest of the normalized approval decision, including
  its approved use and note. This detects decision changes, not authenticity.

Normalization is Python `json.dumps(value, sort_keys=True)` with default ASCII
escaping and separators, encoded as UTF-8. This is the receiver's existing
convention, not a claim to use a general JSON canonicalization standard.
No raw source snapshot digest or separate edge digest is asserted in this version.
Model freezing and tuple collections are programming constraints, not immutable
storage or cryptographic signatures.

## Reproduce

```sh
python -m pip install -r automation/evidence-map-requirements.txt
python automation/test_evidence_map.py
python automation/evidence_map.py --check
python automation/evidence_map.py
```

The generator writes `acc-imp-008.reference.json` and `schema.json` here. Its five
edges use deterministic IDs. Neither the schema nor generator fetches external
URLs, approves records, changes the CV, or deploys a rendering engine. The existing
GitHub workflow supplies live receiver observations and release controls.

The SVG and HTML relationship table use the same reconciled dataset. Search and
record-type filters highlight matching diagram connections and filter table rows.
All records, evidence links and limitations remain in HTML without JavaScript.
Desktop browser checks cover node selection, keyboard activation, filtering and
reset; full accessibility conformance and mobile-device evaluation are not claimed.
The JSON export retains the same reference model; a JSON-LD export is not added.


## Independent researcher view and phone layout

`/research/evidence-map/independent/` maps five previously approved WRS outputs:
four self-published research updates and one narrated public presentation. It uses
`JW-CV-RESEARCH-MAP-001 v0.1.0` with 16 nodes and 15 relationships. The independent
researcher role is an owner-requested navigation grouping. Existing CV context is
Founder and Director, Governance Science Research Program, classified as an
independent research initiative. No new appointment, canonical CV placement,
research authorization, or university affiliation is asserted.

`automation/research_evidence_map.py` reconciles actual selected-field entry
hashes, approval decisions, author identity, canonical URLs and publication
classifications. The WRS index alone is metadata; authored titles and approved
uses come from the owner's scoped decisions. Article original-update dates and
permanent-page dates remain separate. The presentation's original date is not
inferred from its approval; its AI disclosure and bounded pilot limits remain.
`source_record_date` in this view means first receiver observation, not publication.

Both views offer a mobile record chooser and stacked labeled relationship cards
below 761px, with explicit table roles and hidden column headings retained.
Browser viewport checks at 375px and 415px content widths confirmed no horizontal
page overflow, including expanded hash details. Mobile role filtering returned
five authored-output links. These are responsive Chromium checks, not a physical
iPhone Safari certification. Desktop retains the SVG and tabular view. Controls
use 16px input text and full-width mobile sizing. Asset query versions refresh
previously cached map styles and interaction code.

Reproduce with `python automation/test_research_evidence_map.py` and
`python automation/render_evidence_map.py` after the contract checks above.


## Corporate Infrastructure & Applied Technology

`/research/evidence-map/corporate/` is `JW-CV-CORPORATE-MAP-001 v0.1.0`.
It contains 23 qualified portfolio projects, with 70 nodes and 69 relationships.
The founder role derives from approved EW-CVR-000; the 23 work records each
require a currently published candidate record and a matching content-hash-bound
`qualified-portfolio-evidence` decision. Context-only and sender-excluded records
are not included. A changed or revoked record fails reconciliation.

The map is not independent certification of competence, sole authorship,
component authorship, effectiveness or current production readiness. Founder
attribution, account ownership, AI coding assistance, dated deployment states
and infrastructure-timestamp limits remain in the records and evidence cards.
The receiver observation date is not a build or completion date. No new owner
approvals or canonical CV claims are created by graph generation.

The desktop view displays one project path at a time: founder, project, source
record and scoped decision. Project selection filters its three relationships.
Show all relationships opens the searchable 69-edge list. Mobile uses a record
chooser limited to the selected project and stacked labeled relationship cards.
Browser checks at 375px and 415px content widths confirmed project selection,
full-list mode and search, with no horizontal page overflow even when evidence
details are expanded. These are responsive browser checks, not physical Safari
testing. Without JavaScript the full relationship table remains available.

Reproduce with `python automation/test_corporate_evidence_map.py` and
`python automation/render_evidence_map.py`. The generator produces the corporate
reference JSON, schema and HTML from the checked repository records.
