jobizzness / jobizzness/bench

Prove the Firestore wire against a real phone and a second machine

Open
#55 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
1
Forks
0
Avg merge
1h 21m
Merged PRs (30d)
41

Description

#46 is merged. Everything in it is proven against a fake Firestore and nothing has run against a browser, a phone, or a second machine. This is the same shape as #52 was for #45: the code is done, and what is left needs hardware.

## Why it is a separate issue

#46's acceptance list had a set of items that cannot be checked from inside a sandbox — no browser, no phone, no second laptop. Leaving the ticket open indefinitely would have hidden the fact that the code half is finished and reviewed. So they move here.

## What has never happened

- Nobody has ever signed in to the cockpit from a phone.
- No command document has ever been written by a real browser or executed by the daemon against the live project.
- No mirror has ever been written to or read from the real `bench-cockpit` Firestore.
- No second machine has ever registered, so the merged roster has only ever been tested with one.
- No report has ever been rendered through `srcdoc` over the relay.

## Acceptance criteria

Do these by hand against the live project and say which ones you actually did.

- [ ] Broadcast a specialist on the laptop. Open the hosted cockpit on a phone **with wifi off**, signed into the same Google account. The specialist appears.
- [ ] Specialists that were **not** broadcast do not appear, and nothing about them exists in the Firestore console.
- [ ] Send it a prompt from the phone and get a turn back.
- [ ] Answer a decision from the phone; the answer reaches the live session.
- [ ] Open a report from the phone. It renders, in the right theme, in its sandboxed frame.
- [ ] Watch a live turn from the phone. The trail and plan move, and the Firestore console shows no command traffic for the plan — it should arrive on the mirror.
- [ ] Lock the phone for five minutes, unlock, and confirm the cockpit recovers rather than hanging.
- [ ] Turn broadcast off. The mirror documents disappear from the console.
- [ ] Leave the machine broadcast with no viewer for five minutes and confirm from the console that reads slow down rather than stop.
- [ ] With nothing broadcast, confirm no read traffic at all.
- [ ] `bench remote off` empties this machine's subtree.
- [ ] **Two machines.** A second laptop signed into the same account appears in one merged roster, each row labelled, and a prompt sent to a row reaches the right daemon. This is the requirement that started the multi-machine design and it has never been tested with two real machines.

## Watch the quota while doing this

The free plan is 50,000 reads / 20,000 writes / 20,000 deletes a day, resetting around midnight Pacific, with no overage. Check the usage panel in the Firebase console before and after a session and record the real numbers — the cost model in the design is arithmetic, and this is the first chance to find out whether it matches.

## Out of scope

- #47, the mobile layout. Things will be ugly on a phone; note them there, do not fix them here.
- #48 encryption, #49 push notifications.
- #50 and #54, the test failures.

## Related

- #46 — the code, merged.
- #45 / #52 — the identity slice and its live-verification issue, same pattern.
- Blocks #47 in practice: no point styling a cockpit whose transport has not been proven.

Contributor guide

Open the contributing guide

Research direction

Start with the hosted cockpit, the live Firestore project in the Firebase console, and the `bench remote off` entry point. Run the phone, browser, and two-machine acceptance checklist, including the `srcdoc` report and quota checks. Done means recording which criteria passed and the observed Firebase read, write, and delete totals.

Written by the indexing model from the issue text.

Assessment

Tech stack
firebase, typescript
Domain
cloud, databases, distributed-systems, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.