Skip to content

Neo Governance scroll-world cinematic - #5

Open
kfcain wants to merge 6 commits into
mainfrom
cursor/neo-scroll-world-bf61
Open

Neo Governance scroll-world cinematic#5
kfcain wants to merge 6 commits into
mainfrom
cursor/neo-scroll-world-bf61

Conversation

@kfcain

@kfcain kfcain commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Standalone world/ scroll-scrubbed camera flight through the Neo assurance spine (not academy)
  • 7 beats: Edge → Datacenter → Encrypt → Agents → Evidence lake → Frameworks → Trust Center, tagged to real CTRL/KSI/AIUC bindings
  • Vendored MIT scrub engine + Ken-Burns dive/connector MP4s + lightning overlay
  • Public site on GitHub Pages (not localhost): world at /, Trust Center at /trust/

Experience (canonical)

https://kfcain.github.io/Neo-Governance-GRC-Agent/
Trust Center: https://kfcain.github.io/Neo-Governance-GRC-Agent/trust/

# republish after content changes
./scripts/publish-gh-pages.sh

Local preview of the same tree:

./scripts/build-public-site.sh
python3 -m http.server 8765 --directory _site

Docs: deploy/pages/README.md · world/GIST.md · world/pipeline/

Test plan

  • Open the Pages URL; scroll through all 7 scenes; seams soft-crossfade
  • CTA / dock opens /trust/
  • Dive MP4s scrub (Blob load; no CORS issues on Pages)
  • Optional: ./world/scripts/encode-from-stills.sh regenerates clips

kfcain added 4 commits August 1, 2026 02:05
Extend scf_mapper to resolve SCF crosswalks for ISO/IEC 42001:2023 and
NIST AI 100-1, enrich lab hubs with AAT/GOV controls so those sheets
populate, and overlay AIUC-1 requirement IDs alongside KSI/CR26.
Absorb upstream patterns without citing external repositories. Introduce a
content-addressed evidence lake with scheduled collectors (cron, Actions
template, Lambda), control/KSI evaluation, and an academy Trust Center that
surfaces persistence and multi-framework mappings.
Move Trust Center export to trust/, remove academy coupling from
evidence_lake, add PACKAGE.md + pyproject.toml, and keep the academy
as an optional learning site only.
Ship a standalone scroll-scrubbed flight through the assurance spine
(edge → datacenter → encrypt → agents → evidence lake → frameworks →
Trust Center), with scene stills, Ken-Burns dive/connector clips, a
lightning particle overlay, gist talking points, and a pipeline to
upgrade to frame-locked AI camera video later.
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 115 files, which is 15 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5f39268f-5b7a-4799-8d22-18b08758490e

📥 Commits

Reviewing files that changed from the base of the PR and between 9028011 and 49fc3cd.

⛔ Files ignored due to path filters (20)
  • world/assets/stills/world-scene-agents.jpg is excluded by !**/*.jpg
  • world/assets/stills/world-scene-datacenter.jpg is excluded by !**/*.jpg
  • world/assets/stills/world-scene-edge.jpg is excluded by !**/*.jpg
  • world/assets/stills/world-scene-encrypt.jpg is excluded by !**/*.jpg
  • world/assets/stills/world-scene-frameworks.jpg is excluded by !**/*.jpg
  • world/assets/stills/world-scene-lake.jpg is excluded by !**/*.jpg
  • world/assets/stills/world-scene-trust.jpg is excluded by !**/*.jpg
  • world/assets/vid/agents-dive.mp4 is excluded by !**/*.mp4
  • world/assets/vid/conn-agents-to-lake.mp4 is excluded by !**/*.mp4
  • world/assets/vid/conn-datacenter-to-encrypt.mp4 is excluded by !**/*.mp4
  • world/assets/vid/conn-edge-to-datacenter.mp4 is excluded by !**/*.mp4
  • world/assets/vid/conn-encrypt-to-agents.mp4 is excluded by !**/*.mp4
  • world/assets/vid/conn-frameworks-to-trust.mp4 is excluded by !**/*.mp4
  • world/assets/vid/conn-lake-to-frameworks.mp4 is excluded by !**/*.mp4
  • world/assets/vid/datacenter-dive.mp4 is excluded by !**/*.mp4
  • world/assets/vid/edge-dive.mp4 is excluded by !**/*.mp4
  • world/assets/vid/encrypt-dive.mp4 is excluded by !**/*.mp4
  • world/assets/vid/frameworks-dive.mp4 is excluded by !**/*.mp4
  • world/assets/vid/lake-dive.mp4 is excluded by !**/*.mp4
  • world/assets/vid/trust-dive.mp4 is excluded by !**/*.mp4
📒 Files selected for processing (115)
  • .gitignore
  • ASSURANCE-CHECKLIST.md
  • PACKAGE.md
  • PORTFOLIO-CASE-STUDY.md
  • README.md
  • academy/README.md
  • academy/src/data/curriculum.js
  • academy/src/main.js
  • academy/src/style.css
  • deploy/evidence-cron/README.md
  • deploy/evidence-cron/github-actions-evidence-cron.yml
  • deploy/evidence-cron/template.yaml
  • deploy/pages/README.md
  • docs/SCF-ATTRIBUTION.md
  • evidence/lake/evaluations/2026-08-01T033629Z-control-eval.json
  • evidence/lake/evaluations/2026-08-01T041334Z-control-eval.json
  • evidence/lake/evaluations/latest.json
  • evidence/lake/runs/20260801T033629Z-assurance_graph.json
  • evidence/lake/runs/20260801T033629Z-framework_satisfaction.json
  • evidence/lake/runs/20260801T033629Z-lab_control_catalog.json
  • evidence/lake/runs/20260801T033629Z-public_evidence.json
  • evidence/lake/runs/20260801T041334Z-assurance_graph.json
  • evidence/lake/runs/20260801T041334Z-framework_satisfaction.json
  • evidence/lake/runs/20260801T041334Z-lab_control_catalog.json
  • evidence/lake/runs/20260801T041334Z-public_evidence.json
  • evidence/lake/trust/2026-08-01T033629Z.json
  • evidence/lake/trust/2026-08-01T041334Z.json
  • evidence/lake/trust/latest.json
  • evidence/public/signed-bundle/ARTIFACT-PROVENANCE.md
  • evidence/public/signed-failure/README.md
  • evidence/public/signed-failure/signed-failure-preservation.json
  • index.md
  • log.md
  • mappings/framework-satisfaction.json
  • mappings/lab-control-scf.json
  • mappings/scf-cache/ATTRIBUTION.md
  • mappings/scf-cache/controls/AAT-01.json
  • mappings/scf-cache/controls/AAT-02.1.json
  • mappings/scf-cache/controls/AAT-07.1.json
  • mappings/scf-cache/controls/AAT-08.json
  • mappings/scf-cache/controls/AAT-10.13.json
  • mappings/scf-cache/controls/AAT-10.14.json
  • mappings/scf-cache/controls/AAT-10.json
  • mappings/scf-cache/controls/AAT-12.1.json
  • mappings/scf-cache/controls/AAT-12.json
  • mappings/scf-cache/controls/AAT-14.json
  • mappings/scf-cache/controls/AAT-16.json
  • mappings/scf-cache/controls/CFG-02.json
  • mappings/scf-cache/controls/CHG-01.json
  • mappings/scf-cache/controls/CHG-02.json
  • mappings/scf-cache/controls/CPL-02.json
  • mappings/scf-cache/controls/CRY-05.json
  • mappings/scf-cache/controls/DCH-01.json
  • mappings/scf-cache/controls/DCH-02.json
  • mappings/scf-cache/controls/DCH-13.json
  • mappings/scf-cache/controls/DCH-22.json
  • mappings/scf-cache/controls/GOV-05.json
  • mappings/scf-cache/controls/IAC-02.json
  • mappings/scf-cache/controls/IAC-15.json
  • mappings/scf-cache/controls/IAC-20.json
  • mappings/scf-cache/controls/MON-01.json
  • mappings/scf-cache/controls/MON-03.json
  • mappings/scf-cache/controls/MON-06.json
  • mappings/scf-cache/controls/NET-03.json
  • mappings/scf-cache/controls/NET-12.json
  • mappings/scf-cache/controls/OPS-01.json
  • mappings/scf-cache/controls/OPS-03.json
  • mappings/scf-cache/controls/RSK-09.json
  • mappings/scf-cache/controls/RSK-11.json
  • mappings/scf-cache/controls/TDA-01.json
  • mappings/scf-cache/controls/TPM-01.json
  • oscal/component-definitions/ai-grc-lab/component-definition.json
  • practice/evidence_lake/README.md
  • practice/evidence_lake/__init__.py
  • practice/evidence_lake/__main__.py
  • practice/evidence_lake/collectors.py
  • practice/evidence_lake/evaluate.py
  • practice/evidence_lake/lake.py
  • practice/evidence_lake/lambda_handler.py
  • practice/evidence_lake/scheduler.py
  • practice/scf_mapper/README.md
  • practice/scf_mapper/__init__.py
  • practice/scf_mapper/__main__.py
  • pyproject.toml
  • scripts/build-public-evidence.sh
  • scripts/build-public-site.sh
  • scripts/fetch_upstream.sh
  • scripts/publish-gh-pages.sh
  • scripts/verify-assurance-graph.sh
  • trust/README.md
  • trust/collection-runs.json
  • trust/index.html
  • trust/trust-history.json
  • trust/trust-snapshot.json
  • wiki/aiuc-1.md
  • wiki/cloudgrc-incorporation.md
  • wiki/evidence-lake.md
  • wiki/grc-pipeline-alignment.md
  • wiki/hf-agent-trace-governance.md
  • wiki/iso-42001-aims.md
  • wiki/meridian-adapter.md
  • wiki/nist-ai-rmf.md
  • wiki/scf-framework-mappings.md
  • wiki/scroll-world.md
  • wiki/trust-center.md
  • wiki/upstream-capability-map.md
  • world/GIST.md
  • world/README.md
  • world/index.html
  • world/neo-lightning.js
  • world/pipeline/README.md
  • world/scripts/encode-from-stills.sh
  • world/vendor/NOTICE.md
  • world/vendor/SCROLL-WORLD-LICENSE.txt
  • world/vendor/scrub-engine.js

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Assemble world + trust into _site/, publish to gh-pages, and lead
docs/PR experience with the public URL.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 13577c5133

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +48 to +51
elif uri.startswith("s3://"):
# Local mirror path; sync helpers can push to S3 separately.
self.root = DEFAULT_LAKE_ROOT
self.s3_uri = uri

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Write Lambda evidence to writable persistent storage

When the SAM function is invoked with an s3:// lake URI, this branch still selects DEFAULT_LAKE_ROOT under /var/task/evidence/lake; Lambda's deployed code directory is read-only, and the ignored objects/ directory must be created there, so initialization fails before collection. Even if local writes succeeded, s3_uri is only recorded as metadata and no code uploads the results, meaning the hourly function cannot preserve evidence in the configured bucket.

Useful? React with 👍 / 👎.

Comment on lines +58 to +60
if fw_ok:
notes.append("framework satisfaction collected")
return "pass", notes

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Require control-specific evidence before returning pass

Do not pass every remaining control merely because the framework-satisfaction collector succeeded: on a fresh lake, running only cycle --collector framework_satisfaction currently reports 11 of 12 controls as passing, including MFA, encryption, public-access, DLP, and TPRM controls for which no operational evidence was collected. This publishes materially false Trust Center results; framework mappings should describe bindings while each control's status remains unknown until its own required evidence is present.

AGENTS.md reference: AGENTS.md:L8-L8

Useful? React with 👍 / 👎.

Comment on lines +57 to +63
"severity": "ok" if summary.get("scf_hubs_errors", 1) == 0 else "warn",
"lab_controls": summary.get("lab_controls"),
"scf_hubs_errors": summary.get("scf_hubs_errors"),
"sha256": obj["sha256"],
}
)
return lake.finish_run(run, status="ok", findings=findings)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Fail framework collection when SCF hubs are unresolved

When scf_hubs_errors is nonzero, the finding becomes only a warning but the run is still finalized as ok. The evaluator defines fw_ok from this run status, so a stale or incomplete SCF cache is subsequently treated as successful framework satisfaction and can produce passing control claims despite unresolved mappings; finalize such runs as degraded/fail or make the evaluator inspect the error count.

Useful? React with 👍 / 👎.

Comment on lines +133 to +136
obj = self.put_json(snapshot, meta={"kind": "trust_snapshot"})
snapshot["sha256"] = obj["sha256"]
out = self.trust / "latest.json"
out.write_text(json.dumps(snapshot, indent=2) + "\n")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Publish a hash that verifies the exported snapshot

Compute the public digest over the representation that is actually exported, or explicitly export the hashed payload separately. put_json(snapshot) hashes the snapshot before the sha256 field is inserted, after which a different JSON document is written to latest.json and trust/trust-snapshot.json; consequently the committed snapshot's advertised SHA-256 does not match its bytes, so a Trust Center reviewer cannot verify the displayed digest against the public artifact.

AGENTS.md reference: AGENTS.md:L30-L30

Useful? React with 👍 / 👎.

Comment thread pyproject.toml
Comment on lines +21 to +26
[tool.setuptools.packages.find]
include = ["practice*"]
exclude = ["academy*", "boards*", "research*"]

[tool.setuptools.package-data]
practice = ["**/*.json", "**/*.md", "**/*.yaml", "**/*.yml"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Include runtime data in the installed distribution

Package the top-level mappings/, evidence/, scripts/, and Trust Center assets, or stop resolving them relative to the source checkout. A normal wheel/install includes only practice* packages and package data beneath practice, while the neo-evidence entrypoint reads ${ROOT}/mappings/lab-control-scf.json, public evidence, and verifier scripts; outside an editable source checkout, neo-evidence cycle therefore fails with missing files instead of providing the advertised offline-first package.

AGENTS.md reference: AGENTS.md:L9-L9

Useful? React with 👍 / 👎.

Comment thread log.md
## 2026-07-31 — Public parity with grc-engineering-pipeline

- Aligned with https://github.com/jtflack-grc/grc-engineering-pipeline public proof patterns.
- Aligned with public proof patterns.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add a log entry for the new runtime and cinematic

Add a new dated entry describing the evidence lake, Trust Center, SCF expansion, packaging, and scroll-world work. This commit only rewrites wording in two existing July 31 entries, leaving all of its meaningful new functionality unrecorded despite the repository's explicit edit-log requirement.

AGENTS.md reference: AGENTS.md:L7-L7

Useful? React with 👍 / 👎.

Comment thread PACKAGE.md
@@ -0,0 +1,56 @@
# Package layout — Neo Governance (standalone) vs Academy

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Move package synthesis into the wiki

Move this newly authored package-layout synthesis under wiki/ and link to it from operational entrypoints as needed. Adding a standalone synthesis document at the repository root directly violates the repository rule that synthesis be written only in wiki/.

AGENTS.md reference: AGENTS.md:L6-L6

Useful? React with 👍 / 👎.

Comment thread PACKAGE.md
@@ -0,0 +1,56 @@
# Package layout — Neo Governance (standalone) vs Academy

This repository contains **two products**. They must not depend on each other at runtime.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Split the unrelated products into separate sessions

Split this change into focused sessions: it simultaneously introduces the evidence-lake runtime and deployment, expands SCF mappings, creates packaging, and adds a large cinematic product, while explicitly describing multiple products in the same change and not updating handoff/agent-progress.md or features.json. That conflicts with the repository's one-feature-per-session and handoff requirement and makes the resulting state difficult to review or resume safely.

AGENTS.md reference: AGENTS.md:L32-L32

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant