UAS Database safe schema cleanup, JAM-46 follow-up
Date: 2026-04-27 Task: JAM-46
Objective
Remove the two approved deprecated company fields from the active UAS Database paths:
evidence_digestndaa_profile.basis
Keep evidence.source_ids intact as the active evidence traceability link.
What changed
Schema
- Removed
evidence_digestfromdata/lantronix-uas-workbench-phase1/schema/company.schema.json - Removed
ndaa_profile.basisfrom the same schema
Mission Control types
- Removed
evidence_digestfromCompanyRecord - Removed
basisfromCompanyRecord["ndaa_profile"] - Removed
resolvedEvidenceDigestfromUasDatabaseCompanyDetail
Mission Control store
- Removed the legacy evidence-digest fallback builder
- Stopped emitting
resolvedEvidenceDigestin company detail responses - Sanitizer now strips deprecated
evidence_digestif it appears on input - Sanitizer now normalizes
ndaa_profiledown tostatusonly - Preserved
evidence.source_idsvalidation and linked-evidence checks unchanged
Task board
- Moved JAM-46 to
needs-review - Reassigned JAM-46 to Pete
- Added a short follow-up cleanup note to the task description
Files changed
/Users/vinny/.openclaw/workspace/data/lantronix-uas-workbench-phase1/schema/company.schema.json/Users/vinny/.openclaw/workspace/mission-control/lib/uas-database-types.ts/Users/vinny/.openclaw/workspace/mission-control/lib/uas-database-store.ts/Users/vinny/.openclaw/workspace/mission-control/data/tasks.json
Data cleanup result
Checked the live UAS Database API across all 125 companies for deprecated fields.
Result:
- companies with
evidence_digest: 0 - companies with
ndaa_profile.basis: 0
So no source record rewrites were required in records/companies/.
Validation performed
Live UAS Database API
GET /api/uas-database/companiesreturned 125 companies- sampled detail page API for
company:birdseyeview-aeroboticsloaded successfully company.evidence.source_idsremained present in the detail payload as an array- full API scan confirmed no company currently depends on the deprecated fields
Live Mission Control UI
- Opened
http://127.0.0.1:3100/uas-database - company list loaded
- company detail page loaded
- opened
http://127.0.0.1:3100/tasks - runtime tasks board still showed JAM-46 in its pre-restart state
Caveat
This subagent session did not have usable shell execution for rebuild/restart commands, so I could not run the Mission Control rebuild or restart step from here.
Implication:
- source cleanup is complete on disk
- runtime validation above was against the currently running Mission Control instance
- the live runtime still reflects the pre-restart build: JAM-46 still renders as Done in the board UI, and the detail API still exposes
resolvedEvidenceDigest - a rebuild/restart is required before the live server will reflect the source-level cleanup
Recommended next action
From /Users/vinny/.openclaw/workspace/mission-control, run:
npm run buildnpm run service:restart- optional verification:
npm run service:status
Then re-check:
- company list page
- one company detail page
GET /api/uas-database/companiesGET /api/uas-database/companies/:id
Primary check after restart: confirm the detail payload no longer exposes resolvedEvidenceDigest, JAM-46 renders in needs-review, and list/detail still render normally.