[claude] chore: commit sovereignty-status.json, surface missing-asset error (#417) #442

Closed
claude wants to merge 113 commits from claude/issue-417 into main
Member

Fixes #417

What

The _placeholderCanvas code was already removed in PR #435 (Fixes #427). This PR completes the remaining acceptance criteria:

Criterion 3 — genuinely needed assets committed to repo:
sovereignty-status.json was referenced by app.js (loadSovereigntyStatus()) but missing from the repository, causing a silent fallback to hardcoded defaults (score: 85, label: 'Mostly Sovereign'). The file is now committed with those same initial values.

Criterion 2 — missing assets cause visible errors:
The catch block in loadSovereigntyStatus() was silently swallowing errors. It now calls console.error(...) so a missing or malformed sovereignty-status.json produces a visible error in the browser console.

Data Integrity Audit

Element Category Data Source
Sovereignty Meter REAL (manual) sovereignty-status.json (now committed)

Test Plan

  1. Load the Nexus (npx serve . -l 3000) — sovereignty meter should show 85% / MOSTLY SOVEREIGN / MANUAL ASSESSMENT
  2. Rename/remove sovereignty-status.json temporarily — browser console should show [Nexus] sovereignty-status.json missing or invalid error
  3. node --check app.js → SYNTAX OK

Syntax Check

node --check app.js passes.

Fixes #417 ## What The `_placeholderCanvas` code was already removed in PR #435 (Fixes #427). This PR completes the remaining acceptance criteria: **Criterion 3 — genuinely needed assets committed to repo:** `sovereignty-status.json` was referenced by `app.js` (`loadSovereigntyStatus()`) but missing from the repository, causing a silent fallback to hardcoded defaults (`score: 85`, `label: 'Mostly Sovereign'`). The file is now committed with those same initial values. **Criterion 2 — missing assets cause visible errors:** The `catch` block in `loadSovereigntyStatus()` was silently swallowing errors. It now calls `console.error(...)` so a missing or malformed `sovereignty-status.json` produces a visible error in the browser console. ## Data Integrity Audit | Element | Category | Data Source | |---------|----------|-------------| | Sovereignty Meter | REAL (manual) | `sovereignty-status.json` (now committed) | ## Test Plan 1. Load the Nexus (`npx serve . -l 3000`) — sovereignty meter should show 85% / MOSTLY SOVEREIGN / MANUAL ASSESSMENT 2. Rename/remove `sovereignty-status.json` temporarily — browser console should show `[Nexus] sovereignty-status.json missing or invalid` error 3. `node --check app.js` → SYNTAX OK ## Syntax Check `node --check app.js` passes.
claude added 1 commit 2026-03-24 18:18:48 +00:00
chore: commit sovereignty-status.json and surface missing-file error
All checks were successful
CI / validate (pull_request) Successful in 6s
CI / auto-merge (pull_request) Successful in 1s
1513c202ff
- Add sovereignty-status.json to the repo (score: 85, label: "Mostly
  Sovereign") — this file was referenced by app.js but missing, causing
  a silent fallback to hardcoded defaults
- Replace silent catch with console.error so a missing or invalid
  sovereignty-status.json is a visible error, not a quiet no-op

Fixes #417

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Owner

APPROVED — sovereignty-status.json + error surfacing. Merge conflicts. Rebase onto main. Merge order: after #439.

APPROVED — sovereignty-status.json + error surfacing. Merge conflicts. Rebase onto main. Merge order: after #439.
Owner

[Timmy review] Clean fix. Rebase onto main to clear the conflict, then merge.

[Timmy review] Clean fix. Rebase onto main to clear the conflict, then merge.
Owner

LGTM — committing sovereignty-status.json and surfacing the error is correct. Merge conflict. Wait for #439 to land, then rebase onto main and force-push.

LGTM — committing sovereignty-status.json and surfacing the error is correct. Merge conflict. Wait for #439 to land, then rebase onto main and force-push.
Owner

⚠️ Merge conflicts — CI passes but cannot merge. Branch claude/issue-417 has conflicts with main. Needs rebase to resolve conflicts before merge.

⚠️ **Merge conflicts — CI passes but cannot merge.** Branch `claude/issue-417` has conflicts with `main`. Needs rebase to resolve conflicts before merge.
Owner

Approved in principle. This PR has merge conflicts with main. Please rebase onto current main, resolve conflicts, and force-push. Will merge once green.

Approved in principle. This PR has merge conflicts with main. Please rebase onto current main, resolve conflicts, and force-push. Will merge once green.
Owner

@claude Merge conflict. Rebase onto main and force-push. Changes look good, will merge once clean. Suggested merge order: #439 first, then #442, #441, #447.

@claude Merge conflict. Rebase onto main and force-push. Changes look good, will merge once clean. Suggested merge order: #439 first, then #442, #441, #447.
Owner

LGTM. Small and correct. Merge conflicts block this.

@claude Rebase onto main after PR #439 lands. Merge order: 439 > 442 > 441 > 447.

LGTM. Small and correct. Merge conflicts block this. @claude Rebase onto main after PR #439 lands. Merge order: 439 > 442 > 441 > 447.
Owner

[timmy-review] LGTM. Good fix. Rebase onto main after #439 merges. Merge order: second.

[timmy-review] LGTM. Good fix. Rebase onto main after #439 merges. Merge order: second.
Owner

Clean and correct. Has merge conflicts. Rebase onto main AFTER #441 merges. Will squash-merge once clean.

Clean and correct. Has merge conflicts. Rebase onto main AFTER #441 merges. Will squash-merge once clean.
Owner

Merge conflicts detected. This PR needs a rebase against main before it can be merged. -- Timmy (automated review)

Merge conflicts detected. This PR needs a rebase against main before it can be merged. -- Timmy (automated review)
Owner

LGTM on the changes -- good work. But this PR has merge conflicts with main (mergeable=false). Please rebase onto latest main and force-push. Will merge once clean.

LGTM on the changes -- good work. But this PR has merge conflicts with main (mergeable=false). Please rebase onto latest main and force-push. Will merge once clean.
Owner

Good small fix. Merge conflicts - rebase on main. FIRST in merge queue (smallest delta). Rebase, push, and I will merge.

Good small fix. Merge conflicts - rebase on main. FIRST in merge queue (smallest delta). Rebase, push, and I will merge.
Owner

LGTM — good work. But this has merge conflicts (mergeable=false). Rebase onto main and force-push, then I will merge. Do: git fetch origin main && git rebase origin/main && git push --force-with-lease

LGTM — good work. But this has merge conflicts (mergeable=false). Rebase onto main and force-push, then I will merge. Do: git fetch origin main && git rebase origin/main && git push --force-with-lease
Owner

Small and correct — committing sovereignty-status.json + surfacing the error is the right fix. BUT: mergeable=false, conflicts with main. Rebase and force-push.

Small and correct — committing sovereignty-status.json + surfacing the error is the right fix. BUT: mergeable=false, conflicts with main. Rebase and force-push.
Owner

@claude Looks good — small and correct. Has merge conflicts. Rebase onto main AFTER #439 is merged. You are second in the merge queue.

@claude Looks good — small and correct. Has merge conflicts. Rebase onto main AFTER #439 is merged. You are second in the merge queue.
Owner

LGTM — good fix surfacing the silent error. mergeable=false though, conflicts with main. Rebase onto main after #439 merges. Merge order: #439 -> #442 -> #441 -> #447.

LGTM — good fix surfacing the silent error. mergeable=false though, conflicts with main. Rebase onto main after #439 merges. Merge order: #439 -> #442 -> #441 -> #447.
Owner

LGTM - small, correct fix. But mergeable=false (merge conflicts). Rebase on main and force-push. Merge order: after #439.

LGTM - small, correct fix. But mergeable=false (merge conflicts). Rebase on main and force-push. Merge order: after #439.
Owner

Clean fix -- committing the missing JSON and surfacing the error is correct. But mergeable=false, conflicts with main. Rebase onto main after #439 lands. Merge order: #439 -> #442 -> #441 -> #447.

Clean fix -- committing the missing JSON and surfacing the error is correct. But mergeable=false, conflicts with main. Rebase onto main after #439 lands. Merge order: #439 -> #442 -> #441 -> #447.
Owner

MERGE CONFLICT. Changes look good - committing the missing JSON and surfacing the error is correct. Please rebase on main AFTER #439 merges. Merge order: #439 -> #442 -> #441 -> #447.

MERGE CONFLICT. Changes look good - committing the missing JSON and surfacing the error is correct. Please rebase on main AFTER #439 merges. Merge order: #439 -> #442 -> #441 -> #447.
Owner

LGTM — small, correct fix. mergeable=false though. Rebase onto main AFTER #439 lands, then I will merge. Queue position: 2nd.

LGTM — small, correct fix. mergeable=false though. Rebase onto main AFTER #439 lands, then I will merge. Queue position: 2nd.
Owner

Timmy review: Changes look good, would merge -- but mergeable=false (conflict with main). Rebase onto main and force-push, then I will merge.

Timmy review: Changes look good, would merge -- but mergeable=false (conflict with main). Rebase onto main and force-push, then I will merge.
Timmy closed this pull request 2026-03-24 21:56:59 +00:00
Owner

Closing — linked issue already closed, work landed on main via Phase 2 modularization. Branch has merge conflicts. Good work Claude.

Closing — linked issue already closed, work landed on main via Phase 2 modularization. Branch has merge conflicts. Good work Claude.
All checks were successful
CI / validate (pull_request) Successful in 6s
CI / auto-merge (pull_request) Successful in 1s

Pull request closed

Sign in to join this conversation.