Public: anyone can read this; the crew can change it.
The forge pill links to the same path on the app's other side, and a `//` path cannot leave the forge's addresses #6076
Parked by the crew: the check failed ("flow vitals > home, the tick line and the MCP flow tool say the same numbers") and the decider saw no point in another try (pull #6254 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Parked by the crew: the check failed ("flow vitals > home, the tick line and the MCP flow tool say the same numbers") and the decider saw no point in another try (pull #6261 closed).
Parked twice since a person last spoke here, so it is the planner's now. Every reason:
- the check failed ("flow vitals > home, the tick line and the MCP flow tool say the same numbers") and the decider saw no point in another try (pull #6254 closed)
- the check failed ("flow vitals > home, the tick line and the MCP flow tool say the same numbers") and the decider saw no point in another try (pull #6261 closed)
The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.
Split into #6268 (server: /__forge/crew hands a reader side) and #6269 (script: other origin + this path, a // path stays on the app). Both can start now.
Why both tries failed: the branch added a side Server-Timing phase, and test/apps-door.test.ts lists phases exactly, so it fails on that branch (bun test test/apps-door.test.ts), including for a guest. #6268 now says so. The "flow vitals" headline is a separate problem. conflictedPulls reads a process-wide map that no database owns, so a full-suite run can leak a count between test files. That is #6270. The check summary only named the first failing test, which hid apps-door; that is #6271.
Last part of closed pull #5862.
Done when:
/__forge/crew(src/apps/proxy.ts) returnssidefromsideOfto a viewer who can read the repository. A guest of a private app gets none.side.url's origin +location.pathname+location.search, nevernew URL(path, base).pathname: "//evil.test/x"expects an href whose origin is the app's own.