Skip to content

Claude/add palantir dashboard 3 mn on - #16

Merged
AdaWorldAPI merged 3 commits into
mainfrom
claude/add-palantir-dashboard-3MnON
Mar 25, 2026
Merged

Claude/add palantir dashboard 3 mn on#16
AdaWorldAPI merged 3 commits into
mainfrom
claude/add-palantir-dashboard-3MnON

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

No description provided.

claude added 3 commits March 25, 2026 11:00
- Copy aiwar_graph.json (221 nodes, 356 edges) to cockpit/public/
- Generate aiwar_weapons.json (51 weapons from CSV) for table view
- useAiwarData now fetches from /aiwar_graph.json and /aiwar_weapons.json
- PalantirApp shows loading spinner during data fetch
- AiwarExplorer shows actual CSV weapons in table view (Weapon, Year,
  Used By, Military Purpose, Source) — the "innocent" academic data
- Graph view shows full 221-node graph with vis-network
- Selecting a weapon and clicking "Reason About This" surfaces
  enrichment data through NARS inference display

https://claude.ai/code/session_01CSQk1MF3fbRxGf9r4WfEpa
Instead of a sparse card-based landing page, / now renders the
same Palantir glass morphism cockpit (topbar, left rail, graph,
table, cells, status bar) — just loaded with the 221-node aiwar
graph instead of the 24-node infrastructure seed data.

The Inspector panel is replaced with NarsPanel for NARS reasoning.
Select any weapon system and click "Reason About This" to surface
enrichment connections.

Link to /demo in the top bar for the infrastructure demo.

https://claude.ai/code/session_01CSQk1MF3fbRxGf9r4WfEpa
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@AdaWorldAPI
AdaWorldAPI merged commit 304e2d4 into main Mar 25, 2026
0 of 2 checks passed
AdaWorldAPI pushed a commit that referenced this pull request Jul 8, 2026
…he prototype

Ports scripts/garmin_proto.py — the validated Grand Canyon decoder — into a
dep-free, pure-std `geo/src/garmin/` module. Four stages, one submodule each:

- container.rs — the IMG container: XOR de-obfuscation, the 512-byte FAT from
  0x600, and multi-part subfile reassembly (blocks concatenated in part*240+i
  order) → named `name.TYPE` byte slices.
- tre.rs — the TRE: N/E/S/W int24 bbox, the LOD level pyramid, and the
  subdivision tree (16-byte records, 14-byte on the most-detailed level).
- rgn.rs — the RGN: points / indexed-points / polylines / polygons, including
  the LSB-first delta bitstream with QMapShack CShiftReg continuation +
  sign semantics (the marker naive decoders drop, which turns fine levels into
  random-walk mush — the plan's documented level-4 bug).
- lbl.rs — the LBL: 6-bit-packed and 8-bit-latin1 label text (road names,
  elevation-labelled contours).

Public API in mod.rs: `Img::{parse,read,decode}`, `Feature`, `Kind`, `Decoded`,
plus shared bounds-checked little-endian byte readers.

Parity is proven, not asserted: an in-module test folds every decoded
coordinate through FNV-1a-64 and matches the Python golden
(0xadb368a3b063c74d) over all 120,174 features of the village tile 47505316,
with exact per-kind (line 114616 / poly 3185 / point 2373) and per-level
counts, a concrete first-feature check, and a decoded road name ("US Hwy 180").
Three more banked tiles decode to their exact prototype feature counts.

This replaces raster colour-guessing with typed lookups for the geo bake
pipeline (tasks #13-#16): every polygon/polyline carries a Garmin type code
(building / water / forest / street / path / contour) plus contour elevations.

geo is its own cargo workspace (isolated from the q2 workspace); clippy
(-D warnings) and rustfmt clean on the new files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012jEwwaT5JZ5x8qWvcnaMYC
AdaWorldAPI pushed a commit that referenced this pull request Aug 18, 2026
…ather path

main.rs's boot sequence converted the .chains sidecar to Lance but
discarded the returned OrdinalIndex (bound to `_index`), so
CHAINS_INDEX was never populated. gather_chains()'s
`CHAINS_INDEX.get()?.as_ref()?` therefore always short-circuited to
None, and every tile/feature request needing chain geometry
permanently fell back to the eager open_chains() singleton — a
OnceLock populated once on first use and never freed.

Live-confirmed on maps.oga.red: cgroup memory sat at ~850MB baseline,
jumped to ~5.7GB after the first chains-touching request, and never
came back down — matching the reported symptom (memory doesn't go
down again after opening the map in browser).

Add osm_chains_books_lance::publish_chains_conversion(), the one call
site responsible for turning an ensure_chains_lance_local() result
into a set_chains_index() call, with its own unit tests covering both
the Some (wires the index) and None (fails open, no panic) arms.
main.rs now calls it instead of its old broken inline match. Also
corrected the now-stale "not yet consumed by the read path" log
wording for both chains and books (task #16 already wired the
Lance-first-with-eager-fallback read path for both).

Verified: cargo check -p cockpit-server --bin q2-cockpit --tests
passes clean (0 errors; 33/18 warnings, at or below the pre-existing
baseline). Full `cargo test`/nextest for this binary is not runnable
in this environment (transitively links most of the workspace,
exceeds the container's disk allowance) — documented per prior
sessions' practice rather than claimed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMeiLmtDKhomJNSo2ecbJw
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.

2 participants