StarLang visual-recon actor tree: ScreenshotSupervisor + BrowserWorkers #31

Open
opened 2026-09-02 17:24:35 +00:00 by nsaspy · 1 comment
Owner

Outcome

Implement the execution side of #140 as a supervised StarLang/actor-oriented visual-recon tree following actual Hackmode actor conventions discovered during implementation.

Owning RAGE lane

Provider/runtime/tool worker.

Fence

Browser actors execute jobs and return typed results; they do not write Tek9 directly, decide Hackpert policy, or own StarIntel persistence.

Dependencies

  • #140 visual recon epic
  • #137 browser/client transport profile
  • #135 operation capture provider

Proposed actor responsibilities

Names may adapt to repository conventions, but responsibilities should include:

  • ScreenshotSupervisor: bounded queue, worker lifecycle, operation/run scoping;
  • BrowserWorker: isolated Chromium/CDP/selected browser execution;
  • ScreenshotJob: deterministic job identity, URL, deadline, profile/capture mode;
  • metadata extraction boundary for title/final URL/status/technology hints/timing/digests;
  • evidence-writer call into the canonical storage API rather than direct persistence.

Required behavior

  • bounded mailbox/backpressure and concurrency;
  • cancellation and deadline propagation;
  • browser crash isolation/replacement;
  • deterministic retry identity;
  • proxy/IPX support so browser HTTP can be captured by #135/#136;
  • coherent browser profile from #137;
  • bulk URL operation without an unbounded spawn storm;
  • typed status suitable for LISH inspection.

RED-first tests

Queue saturation/backpressure, cancellation, deadline, one worker crash, retry identity, capture/profile propagation, and no direct Tek9 dependency from BrowserWorker.

Acceptance proof

Run a deterministic URL fixture set through multiple supervised browser workers, crash one worker, prove remaining jobs finish or classify failure correctly, and show every completed job returns one typed result with stable operation/run/job provenance.

## Outcome Implement the execution side of #140 as a supervised StarLang/actor-oriented visual-recon tree following actual Hackmode actor conventions discovered during implementation. ## Owning RAGE lane Provider/runtime/tool worker. ## Fence Browser actors execute jobs and return typed results; they do not write Tek9 directly, decide Hackpert policy, or own StarIntel persistence. ## Dependencies - #140 visual recon epic - #137 browser/client transport profile - #135 operation capture provider ## Proposed actor responsibilities Names may adapt to repository conventions, but responsibilities should include: - `ScreenshotSupervisor`: bounded queue, worker lifecycle, operation/run scoping; - `BrowserWorker`: isolated Chromium/CDP/selected browser execution; - `ScreenshotJob`: deterministic job identity, URL, deadline, profile/capture mode; - metadata extraction boundary for title/final URL/status/technology hints/timing/digests; - evidence-writer call into the canonical storage API rather than direct persistence. ## Required behavior - bounded mailbox/backpressure and concurrency; - cancellation and deadline propagation; - browser crash isolation/replacement; - deterministic retry identity; - proxy/IPX support so browser HTTP can be captured by #135/#136; - coherent browser profile from #137; - bulk URL operation without an unbounded spawn storm; - typed status suitable for LISH inspection. ## RED-first tests Queue saturation/backpressure, cancellation, deadline, one worker crash, retry identity, capture/profile propagation, and no direct Tek9 dependency from BrowserWorker. ## Acceptance proof Run a deterministic URL fixture set through multiple supervised browser workers, crash one worker, prove remaining jobs finish or classify failure correctly, and show every completed job returns one typed result with stable operation/run/job provenance.
Author
Owner

Storage handoff from #142: PR #145 merged at a795ecb08ac2e30363f9538fbc1a1008a93faf25 and adds the canonical visual-evidence persistence contract. Browser workers should construct make-visual-evidence-record and submit through persist-visual-evidence-record; do not write Tek9 directly. The record carries stable operation/run/job identity, screenshot evidence ref + digest, URL/title/status/browser/profile metadata, and optional capture-session / HTTP-exchange correlation. Typed singular/plural reads are fetch-visual-evidence-record and fetch-visual-evidence-records.

Storage handoff from #142: PR #145 merged at `a795ecb08ac2e30363f9538fbc1a1008a93faf25` and adds the canonical visual-evidence persistence contract. Browser workers should construct `make-visual-evidence-record` and submit through `persist-visual-evidence-record`; do not write Tek9 directly. The record carries stable operation/run/job identity, screenshot evidence ref + digest, URL/title/status/browser/profile metadata, and optional capture-session / HTTP-exchange correlation. Typed singular/plural reads are `fetch-visual-evidence-record` and `fetch-visual-evidence-records`.
Sign in to join this conversation.
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
nsaspy/hackmode#31
No description provided.