Finish the console object-argument sweep #108

Merged
padreug merged 1 commit from fix/log-object-args-sweep into dev 2026-09-24 13:09:56 +00:00
Owner

#107 caught three sites by grepping for an object literal as the second console argument. That pattern misses the more common form, a variable holding an object, so five more were still landing in the journal as [object Object].

This time the list came from the machine rather than from a grep: every distinct such line in three days of sintra's journal.

The five:

  • the bay list at HAL init
  • the inventory loaded from state.db
  • the inventory pushed to the renderer
  • the amounts sent to a dispense
  • the access-control audit record

Three sibling sites in the mock and service paths are fixed too. They had not run recently enough to appear in the journal but carry the same shapes.

The audit line is the one that mattered. It is the entire record of who was granted or denied terminal access until #90 persists it to state.db, and every field of it was being discarded.

formatBays and formatInventory in src/lib/utils.ts render the denomination/count shapes these sites share. count is optional on a device-config cassette, so an absent one prints as unknown rather than as zero, which would read as a drained bay.

Typecheck passes, 135 machine tests pass.

#107 caught three sites by grepping for an object *literal* as the second console argument. That pattern misses the more common form, a variable holding an object, so five more were still landing in the journal as `[object Object]`. This time the list came from the machine rather than from a grep: every distinct such line in three days of sintra's journal. The five: - the bay list at HAL init - the inventory loaded from `state.db` - the inventory pushed to the renderer - the amounts sent to a dispense - the access-control audit record Three sibling sites in the mock and service paths are fixed too. They had not run recently enough to appear in the journal but carry the same shapes. **The audit line is the one that mattered.** It is the entire record of who was granted or denied terminal access until #90 persists it to `state.db`, and every field of it was being discarded. `formatBays` and `formatInventory` in `src/lib/utils.ts` render the denomination/count shapes these sites share. `count` is optional on a device-config cassette, so an absent one prints as unknown rather than as zero, which would read as a drained bay. Typecheck passes, 135 machine tests pass.
#107 caught three sites by grepping for an object literal as the second
console argument. That pattern misses the more common form, a variable
holding an object, so five more were still landing in the journal as
[object Object]. This time the list came from the machine itself: every
distinct such line in three days of sintra's journal.

The five: the bay list at HAL init, the inventory loaded from state.db,
the inventory pushed to the renderer, the amounts sent to a dispense, and
the access-control audit record. Three sibling sites in the mock and
service paths are fixed too; they had not run recently enough to appear
in the journal but carry the same shapes.

The audit line is the one that mattered. It is the entire record of who
was granted or denied terminal access until #90 persists it to state.db,
and every field of it was being discarded.

formatBays and formatInventory render the denomination/count shapes these
sites share. `count` is optional on a device-config cassette, so an
absent one prints as unknown rather than as zero, which would read as a
drained bay.
padreug deleted branch fix/log-object-args-sweep 2026-09-24 13:09:56 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aiolabs/bitspire!108
No description provided.