Skip to content

Factory page in the T3 web app #28

Closed

Description

@tomkaczocha

Outcome

The T3 web app shows the factory's runs next to its threads.

Acceptance criteria

  • apps/web/src/routes/factory.tsx lists runs with repo, issue, state, current step, age and pull request link, and has pause/resume claims.
  • apps/web/src/routes/factory.$runId.tsx shows a run's ledger events, its last gate output, a link to its thread, and a stop button.
  • One nav link reaches the page. Its file and apps/web/src/routeTree.gen.ts are listed in factory/SEAMS.
  • Components live under apps/web/src/factory/ with component tests for the empty, loading, error and populated states.
  • /factory lists the open attention items from Needs attention: keep a list of what needs a person and notify on the Mac #58 at the top, and its nav link shows their count as a badge (hidden at zero).

Depends on

Notes

This issue is for the fork's own factory, after the handover in #21. Leave it at factory:proposed until the fork's factory watches this repo.

Reference

  • softfac, the Rust factory this ports, pinned at rawphp/softfac@bf273a1. Read it from a separate clone: git clone --filter=blob:none https://github.com/rawphp/softfac /tmp/softfac-ref && git -C /tmp/softfac-ref checkout bf273a1d93651992b4fc95b4dd6c111f8f3322cf. Its docs/lifecycle.md, docs/reference/ledger.md and docs/issues.md describe the behaviour; its tests pin it.
  • Design: factory/docs/design.md in this repo.
  • Upstream's AGENTS.md applies. Run only the tests and typechecks for the paths you touch (vp test run <path>, vp run --filter t3 typecheck), never the repo-wide checks.
  • Edit no upstream file that is not listed in factory/SEAMS. A new seam needs a line in factory/SEAMS and a reason in the PR body.
  • Port behaviour, not code: port the named test cases first (TypeScript, vitest / @effect/vitest), then make them pass. Exact comment and ledger wording is ported as is.

Activity

  1. added and removed
    factory:proposedA bot filed it; ignored until a person sets ready
    on Oct 16, 2026
  2. added and removed on Oct 17, 2026
  3. self-assigned this
    on Oct 17, 2026
  4. added and removed on Oct 17, 2026
  5. rawphp commented on Oct 17, 2026

    @rawphp

    Factory status: pr-open

  6. 5 remaining items

  7. added
    factory:pr-openPR is open and passed the gate
    and removed on Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

factory:pr-openPR is open and passed the gate

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions