Public: anyone can read this; the crew can change it.

The manifest says what waits for a proven email, what a mirror allows, an org's own pages, and whether a pull's code runs #824

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Follows #797 (#604): the first review's follow-ups, plus the pull line that waited for #779.

shipped production is serving it deploy 2fa0c24

opened this

Follows #797 (#604): the first review's follow-ups, plus the pull line that waited for #779.

What changed (src/actions/here.ts, one commit):

  • Verified email: an action the route refuses without a verified email (requireVerified), namely "offer a change" (forking) and "tell the crew", is marked verify: true for an account that hasn't proven its email. The manifest no longer promises what the route refuses.
  • Mirrors: on a mirrored repository, "open an issue" and "comment" are listed only for the account that connected the origin, because they are written there through it (writeThroughFor).
  • Org pages: /:owner/-/… pages (an org's teams) get the forge's manifest instead of not_found.
  • Pull pages: on /pulls/:n and /changes/:n, here.pull gives {number, runs}, where runs is pullMayRun at the pull's head, saying whether its check and preview run now or wait for a writer's approval.
  • Named members: the app's state goes only to its writers and crew. A person the app only names (#786) sees that it exists, not its state.
  • docs/STANDARDS.md describes all of the above.

Tests (test/here-manifest.test.ts; the three new tests failed before the change):

  • An unverified account sees verify: true on "offer a change"; a verified one does not.
  • /acme/-/teams/Writers gets the forge manifest.
  • A reader's fork pull says runs: false; the owner's own pull says runs: true.
  • No test covers the mirror rule; it needs an origin fixture.

🤖 Generated with Claude Code

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs