Source document copied on 20 October 2026. Its dated evidence and limitations remain as written. Feedback and decisions can be given in chat.
20 October 2026 · WOB-86
The authenticated venue rehearsal now works against the local NocoDB service. It preserves the links between a venue, its people, dated offers, event outcomes and original feedback. The genuine base is being prepared after that rehearsal; final import counts are recorded below when available.
Toberton completed sign-in on the Mac as toberton@justanother.nyc. Native UI and authenticated v3 API inventory agreed on workspace w77gwnd3 and the existing Getting Started base p72b69nwez6owwh.
An ordinary API read succeeded inside his signed-in browser, while the standalone importer received 401 without a credential. He had answered the precise token question with “uunless it is required, no token.” After explaining this requirement, the coordinator created the single ja-venue-import token and stored/read-verified it in macOS Keychain, service nocodb-api, local account. Its account-wide access and lack of expiry had been stated in that question. The token value was never printed or filed, and the clipboard was cleared.
The database remains local in OrbStack. The existing private tailnet route is the phone entry point; its current URL is in the Plannotator Inbox. No public share, invitation or membership change was made. Getting Started remains separate.
The reviewed importer first created JA Venues sample (disposable), actual base pqi5q8dqu86lbfa, with 11 tables and 24 forward relationship fields. Native Manage members showed one person, Toberton as Owner. The invite-link control still offered to create a link.
The first import stopped after 43 of its planned 44 records. NocoDB had stored an omitted Key contact checkbox as false, while the importer expected null. The other compared fields matched. No explicit native links had been added yet.
PR82 repaired that specific representation mismatch. It merged at 08:53:23 EDT as 4701d0eea9dda994a83e04020c4e5840f7f1b3b5, from independently reviewed head 781f3bcf7bf070d908e97a0374f45cecdfe4e2f9, after green required CI. The repair note records the 41 focused tests, lock/Ruff/format/Pyright results and actual same-worktree Claude LSP calls. Its acceptance is reused here; no unchanged suite was rerun for this evidence document.
The resumed ordinary importer reused all 43 existing rows, created the one missing saved-feedback row, added 60 links, and read back all 44 selected records and 60 links. An unchanged rerun then reported zero records written and zero links added. The sample's saved feedback retained exactly 4,662 UTF-8 bytes.
Native UI inspection confirmed:
The API performed the exact field and feedback-byte comparisons. The UI checks inspected these representative records and their links; they were not a claim to have manually read every cell.
Only in the disposable base, the coordinator added:
The native create-and-link flow did not immediately persist that relationship. The coordinator selected the explicit add-link control and saved, then verified target ID 2 through the API. The link endpoint projects a limited set of fields, so the target's name was verified through its own record read.
A scratch copy of the dataset changed only Monarch's imported summary to a labeled synthetic value. Running the ordinary importer with that copy wrote exactly one record and added zero links. The API and native UI confirmed the manual note, rating, relationship and unkeyed target remained. Running the real dataset again wrote one record, added zero links, restored the original source object exactly, and preserved all those manual values.
The committed dataset was never changed for this rehearsal. Existing uncertain-write fixtures remain the evidence for lost responses; no live fault was injected.
Before genuine import, the coordinator saved a private PostgreSQL archive at:
~/.local/state/nocodb/backups/before-ja-import-20261020T124341Z/nocodb.dump
It is 650,445 bytes, mode 0600. pg_restore --list can read the archive; no restore test was executed. The application's data directory had no attachment subdirectories at that read. No recurring backup job or deployment setting was added.
The coordinator's exact local receipts are under /Users/toberton/orca/artifacts/:
ja-venues-live-sample-schema-20261020.jsonja-venues-sample-mismatch-20261020.jsonja-venues-live-sample-resume-20261020.jsonja-venues-live-sample-unchanged-20261020.jsonja-venues-manual-before-20261020.jsonja-venues-manual-update-20261020.jsonja-venues-manual-after-20261020.jsonja-venues-manual-restore-20261020.jsonja-venues-manual-restored-readback-20261020.jsonThe coordinator created JA Venues, base pympviz56av8voh, in workspace w77gwnd3, after the successful sample and manual-preservation checks. Native UI confirmed Toberton as its sole Owner. The actual schema receipt is ja-venues-genuine-schema-20261020.json in the same artifact directory; it contains the 11 table IDs and 24 explicit forward relationship fields. Getting Started remains untouched.
The ordinary importer started around 09:07 EDT from merged code 4701d0e. It stopped with an uncertain-write/readback-incomplete result at Activity key 5th-mad-game-conflict. A separate read at 09:16:28 EDT found that key absent and counted 434 actual records: 124 venues, 48 spaces, 58 people, 11 organizations, 22 events, 117 pursuits, 48 offers and 6 activities. Evidence, connections and saved feedback are still empty. The importer had not reached its native-link phase or final acceptance; no retry has been made.
The expected Activity's Draft summary is a text string, while that field's native schema is JSON. This is a candidate explanation requiring diagnosis, not a verified cause. The exact missing-row and field/count readback is saved as ja-venues-genuine-interruption-20261020.json. No source data has been altered to fit the schema.
Toberton's public phone-review request took priority at this checkpoint. The partial base is preserved for a bounded repair and deliberate resume, not a fresh import. The disposable sample and its labeled manual rehearsal row also remain pending cleanup after genuine acceptance. The Wob query contract identifies the actual base and the remaining shared integration boundary; no Wob query feature is claimed installed.
Source completeness remains bounded as described in coverage; completing an import will not establish account-wide source coverage.