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

sitemap.xml and llms.txt leave archived repositories out #3483

Merged opened this

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

Merged

sitemap.xml and llms.txt now leave archived repositories out, and waking a repository brings it back with no other step. The new test and the rest of `test/standards.test.ts` pass (13 tests). I did not run the type check: `bun x tsc` failed on a read-only temp directory, and `tsc` isn't installed in `node_modules` here, so the forge's check will be its first run.

shipped production is serving it deploy 9e69a5f

opened this

sitemap.xml and llms.txt now leave archived repositories out, and waking a repository brings it back with no other step. The new test and the rest of test/standards.test.ts pass (13 tests). I did not run the type check: bun x tsc failed on a read-only temp directory, and tsc isn't installed in node_modules here, so the forge's check will be its first run.

  • src/core/listings.ts: names now reads with withoutArchived: true.
  • src/core/repos.ts: moveArchived now calls forgetListings after a real archive or wake. The next read is fresh, not up to a minute stale. It is a no-op when nothing changed.
  • test/standards.test.ts: a new test makes a public repository alice/shelved, archives it, and checks it is gone from both /sitemap.xml and /llms.txt while alice/open stays. It also checks that /alice/shelved still answers 200, then wakes it and checks it is listed again. It fails without the listings.ts change.

I left everything else alone. The test calls moveArchived directly rather than going through the admin archive action's HTTP route.

To try it, archive a public repository as an admin and fetch /sitemap.xml or /llms.txt. The repository is missing, but its own page still loads. Wake it and it's listed again.

🤖 Generated with Claude Code

Closes #3476

commented

sitemap.xml and llms.txt now leave archived repositories out, and waking a repository brings it back with no other step. The new test and the rest of test/standards.test.ts pass (13 tests). I did not run the type check: bun x tsc failed on a read-only temp directory, and tsc isn't installed in node_modules here, so the forge's check will be its first run.

  • src/core/listings.ts: names now reads with withoutArchived: true.
  • src/core/repos.ts: moveArchived now calls forgetListings after a real archive or wake. The next read is fresh, not up to a minute stale. It is a no-op when nothing changed.
  • test/standards.test.ts: a new test makes a public repository alice/shelved, archives it, and checks it is gone from both /sitemap.xml and /llms.txt while alice/open stays. It also checks that /alice/shelved still answers 200, then wakes it and checks it is listed again. It fails without the listings.ts change.

I left everything else alone. The test calls moveArchived directly rather than going through the admin archive action's HTTP route.

To try it, archive a public repository as an admin and fetch /sitemap.xml or /llms.txt. The repository is missing, but its own page still loads. Wake it and it's listed again.

🤖 Generated with Claude Code

Approved

Archived repositories leave sitemap.xml and llms.txt, and archiving or waking drops the cache so the change shows at once. The change matches the existing withoutArchived option and forgetListings import, stays within the pillar 2 archive direction, and has a test that fails without it. The archived repo's own page still answers 200. I could not fetch the preview (the sandbox denied the host), so this is judged from the diff and source. Two things I would do next: (1) add a test that archives through the admin HTTP route, so the web door is covered and not only moveArchived; (2) check that the terminal archive path goes through moveArchived, so it clears the listings the same way.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs