{
  "schema_version": "1.0",
  "context_id": "JW-CV-AIC-001",
  "context_version": "1.0",
  "release": "v2.7 Candidate 47",
  "date": "2026-10-20",
  "status": "governed-deployment-handoff",
  "purpose": "Cold-start reconstruction of deployment state without reliance on prior conversation memory.",
  "canonical_production": {
    "url": "https://cv.jermainewhiteside.com",
    "deployment_mode": "static-cloudflare",
    "runtime_dependency_rule": "Production must remain operable without unverified API runtime."
  },
  "integration_lab": {
    "url": "https://beta.jermainewhiteside.com",
    "project": "jw-certified-cv",
    "purpose": "ORCID/API and later scholarly integration testing",
    "promotion_rule": "Test -> document -> certify -> promote",
    "note": "jw-certified-cv was previously the beta project; it is now the Git-connected production project."
  },
  "rollback": {
    "immediate": "JW-CV-CF-v2.7-CANDIDATE-46",
    "prior_recovery": "v2.7 Candidate 22",
    "candidate_13": "superseded split-target deployment attempt"
  },
  "locked_rules": [
    "Production must never depend on an unverified integration.",
    "Social media is derivative dissemination; CV Applied Evidence remains canonical.",
    "Controlled working records are not certified CV claims.",
    "Human-readable and machine-readable representations must remain synchronized.",
    "Deployment history, footer, release notes, and SHA-256 manifest are mandatory.",
    "AI continuity must be reconstructible from governed external artifacts."
  ],
  "applied_records": [
    {
      "id": "AE-2026-001",
      "status": "canonical-applied-record",
      "external_derivative": "LinkedIn native video"
    },
    {
      "id": "AE-2026-002",
      "status": "canonical-applied-record",
      "external_derivative": "LinkedIn native video"
    },
    {
      "id": "AE-2026-003",
      "status": "controlled-development-record-not-certified-cv"
    }
  ],
  "candidate_16_objectives": [
    "human-readable master registry",
    "master registry synchronization",
    "AI deployment context markdown+json",
    "machine manifest registration",
    "static production preservation"
  ],
  "research_program": {
    "working_construct": "governed AI continuity / external context reconstruction",
    "planned_tests": [
      "memory-disabled cold-start ChatGPT",
      "Claude cold-start with same frozen control package",
      "cross-model comparison",
      "later cross-model handoff"
    ],
    "metrics": [
      "context reconstruction accuracy",
      "constraint preservation rate",
      "unprompted error rate",
      "clarification burden",
      "human intervention required",
      "deployment fidelity",
      "evidence governance fidelity",
      "turns/time to valid artifact"
    ]
  },
  "ip_boundary": "Potential IP questions may be preserved for later prior-art and legal review; do not claim patentability, novelty, non-obviousness, or legal protectability from this artifact alone.",
  "required_reads": [
    "AI_DEPLOYMENT_CONTEXT.md",
    "RELEASE_NOTES_v2.5_CANDIDATE_16.md",
    "DEPLOYMENT_MANIFEST_v2.5_CANDIDATE_16.json",
    "deployments/registry.json",
    "applied/registry.json",
    "evidence-cv/registry.json"
  ],
  "required_post_change_checks": [
    "version advancement",
    "custom-domain target",
    "sitewide footer",
    "deployment page/feed",
    "JSON/XML parse",
    "internal links",
    "mobile layout",
    "no secrets",
    "no unauthorized functions runtime",
    "controlled-vs-certified status preservation"
  ],
  "handoff_principle": "Institutional continuity should be carried by governed artifacts, not by dependence on a particular AI model, account, or conversation history.",
  "source_control": {
    "repository": "https://github.com/jermainewhitesideedu/jermainewhiteside-cv",
    "baseline_commit_note": "main begins with the unchanged live v2.5 Candidate 16 package.",
    "deploy": "Cloudflare Pages project jw-certified-cv, Git-connected to this repository, production branch main. Pages publishes the repository root, including tooling folders.",
    "authority_decision": "Owner designated jermainewhiteside-cv as the CV source repository on 2026-10-18.",
    "custom_domain_note": "On 2026-10-18 cv.jermainewhiteside.com still served v2.5 Candidate 16 from the earlier target (believed to be Worker jermaine-whiteside-cv). The custom domain must be attached to jw-certified-cv and the footer checked on the custom domain."
  },
  "cv_receiver": {
    "receiver_id": "JW-CV-RCV-001",
    "page": "/evidence/external/",
    "code": "automation/receive_registers.py; .github/workflows/receive-cv-registers.yml",
    "rule": "Fetch, validate, stage, log. Never approve. Owner decisions live in /evidence/external/approvals.json."
  },
  "v2_7_c01_objectives": [
    "GitHub baseline of live package",
    "fellowship/reference/printable CV port from v2.6 TC20",
    "external evidence receiver",
    "release controls"
  ],
  "ai_failure_register": {
    "page": "/ai-failures/",
    "json": "/ai-failures/registry.json",
    "rss": "/ai-failures/feed.xml",
    "gate": "Six criteria, all true, for public RSS; no editorial override."
  },
  "merge_rule": "Do not push to a release branch after its pull request is merged; open a new branch and candidate instead.",
  "release_rule": "Every merge that changes served files advances the footer version, adds a deployment-history entry and release notes, and writes a SHA-256 manifest.",
  "navigation": {
    "tool": "tools/unified_nav.py",
    "groups": [
      "Research",
      "CV",
      "Credentials",
      "Evidence"
    ],
    "rule": "Change the menu or a page label in tools/unified_nav.py and re-run it; do not hand-edit menus on individual pages."
  },
  "machine_readable_index": "/machine-readable/",
  "nih_biosketch_plan": {
    "page": "/biosketch/nih-common-form/",
    "data": "/biosketch/nih-common-form/plan.json",
    "tool": "tools/build_nih_plan.py",
    "rule": "Edit plan.json and re-run the tool, then tools/unified_nav.py and tools/global_footer.py."
  },
  "citi_claim_rule": "A CITI record claims only that a course was completed. Do not call it a certification, licence, credential, appointment or proof of competence, and do not say it satisfies or meets a requirement; say what the requirement asks and that the training was completed. State the evidence held and which document the verification link points to. Use tools/citi_claims_c09.py as the template.",
  "grant_coi_readiness": {
    "page": "/biosketch/coi-readiness/",
    "data": "/biosketch/coi-readiness/readiness.json",
    "tool": "tools/build_coi_readiness.py",
    "rule": "Publish public roles, owner-stated ownership, rules and template language. Effort, compensation and contract amounts stay in the owner's private Drive worksheet. Ownership lives once in readiness.json under ownership; the Compliance Readiness Score is computed from compliance_score.requirements."
  },
  "printable_cv_citi_rule": "The printable CV reads CITI training from /evidence-cv/citi-research-training/registry.json. Add CITI courses to that registry only; do not add them to cv/data/base-cv.json.",
  "sciencv_print": {
    "page": "/biosketch/sciencv/",
    "data": "/biosketch/sciencv/common-form.json",
    "tool": "tools/build_sciencv_print.py",
    "rule": "Mirror the SciENcv Common Form fields. Values come from site records; anything not on record stays [to confirm]. The page is a preparation worksheet, not the submitted biosketch. Re-run tools/unified_nav.py and tools/global_footer.py after building."
  },
  "research_integrations": {
    "config": "wrangler.jsonc (source of truth for vars and bindings)",
    "status_route": "/api/research/status",
    "profile_route": "/api/research/profile",
    "display": "/orcid/#connected-research",
    "pubmed_allowlist": "/research/connected/pubmed-allowlist.json",
    "site_publications": "/research/connected/site-publications.json (tools/build_site_publications.py; re-run when /publications/ changes)",
    "kv": {
      "production": "jw-cv-research-prod",
      "preview": "jw-cv-research-preview"
    },
    "secrets_in_dashboard_only": [
      "NCBI_API_KEY",
      "NCBI_CONTACT_EMAIL",
      "ORCID_CLIENT_SECRET"
    ],
    "rule": "Never put a secret in the repository. Imported records are source-reported, not verified, and never enter certified JSON-LD, evidence RSS or the certified CV. NCBI_ENABLED and ORCID_ENABLED are on in Production from Candidate 18; set either to false in wrangler.jsonc to withdraw that source."
  },
  "research_maps": {
    "page": "/research/maps/",
    "registry": "/research/maps/registry.json",
    "generator": "tools/build_research_maps.py",
    "rule": "Update registry.json and regenerate; preserve prospective status unless a dated supporting record warrants a change. Journal candidates are not affiliations or acceptances.",
    "methodology": "/research/maps/#methodology",
    "methodology_status": "Prospective protocol v0.1; planned evaluation, no results asserted."
  },
  "source_synchronization": {
    "script": "automation/sync_sources.py",
    "log": "/evidence/external/synchronization-log.json",
    "rule": "Transport success is not CV claim approval. SSRN uses a local governed catalog. Whiteside Research uses its public WIPS provenance index; imported index metadata is context only."
  }
}
