close #106-#117

68196a9gl0w

all commits

Message

close #106-#117

Diff

.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/comments/bf444985-0017-45ba-81d6-1f2637f30a1f.md+8 −0
diff --git a/.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/comments/bf444985-0017-45ba-81d6-1f2637f30a1f.md b/.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/comments/bf444985-0017-45ba-81d6-1f2637f30a1f.mdnew file mode 100644index 0000000..4e385fa--- /dev/null+++ b/.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/comments/bf444985-0017-45ba-81d6-1f2637f30a1f.md@@ -0,0 +1,8 @@1+---2+id: bf444985-0017-45ba-81d6-1f2637f30a1f3+author: null4+created: 2026-10-27T19:53:10.556907572Z5+---6+Fixed in PR #62 (`0983d394-af31-4249-9f13-953766963072`, commit `87c3c12`, merged `74d5bad`). CI `2026-10-27T19-51-44.580964991Z` passed.7+8+The agents guide now describes the actual stored shape: type, title, body, optional handle/contact, license version, `received_at`, and salted source-IP hash; checkbox validation happens before storing and is not a separate stored field. No body hash is claimed.
.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/issue.md+2 −2
diff --git a/.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/issue.md b/.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/issue.mdindex b4c4b1a..33916cd 100644--- a/.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/issue.md+++ b/.forge/issues/0572a4d9-8185-4d2d-b815-0d49e5f07c8c/issue.md@@ -1,13 +1,13 @@11 ---22 id: 0572a4d9-8185-4d2d-b815-0d49e5f07c8c33 title: Agents guide claims checkbox state and body hash are stored, but they are not4-state: open4+state: closed55 labels:66 - kind:docs77 assignees: []88 milestone: null99 created: 2026-10-27T18:40:33.033067153Z10-updated: null10+updated: 2026-10-27T19:53:10.565586798Z1111 ---1212 ## Problem1313 
.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/comments/a97aa1af-9a14-4945-beb5-a903137546e5.md+8 −0
diff --git a/.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/comments/a97aa1af-9a14-4945-beb5-a903137546e5.md b/.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/comments/a97aa1af-9a14-4945-beb5-a903137546e5.mdnew file mode 100644index 0000000..19aa4d1--- /dev/null+++ b/.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/comments/a97aa1af-9a14-4945-beb5-a903137546e5.md@@ -0,0 +1,8 @@1+---2+id: a97aa1af-9a14-4945-beb5-a903137546e53+author: null4+created: 2026-10-27T19:53:10.464412015Z5+---6+Resolved as documented platform behavior in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI `2026-10-27T19-50-04.907798288Z` passed.7+8+Pages clean-URL 308s are not suppressible via `_redirects` 200; the generated `.html` links remain functional and Docker/nginx serve the exact path. `docs/cloudflare.md` and `.forge/wiki/deploy` now state the Pages canonical form, and the artifact redirect remains download-only. This closes the issue as a documented Pages constraint rather than silently claiming byte-identical URLs.
.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/issue.md+2 −2
diff --git a/.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/issue.md b/.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/issue.mdindex 181ccbd..155efe8 100644--- a/.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/issue.md+++ b/.forge/issues/31863f16-5f76-479b-be32-61b1107441a6/issue.md@@ -1,13 +1,13 @@11 ---22 id: 31863f16-5f76-479b-be32-61b1107441a633 title: Cloudflare Pages clean-URL redirects break the one-shape canonical URL contract4-state: open4+state: closed55 labels:66 - area:render77 assignees: []88 milestone: null99 created: 2026-10-27T18:40:05.827762324Z10-updated: null10+updated: 2026-10-27T19:53:10.473147998Z1111 ---1212 ## Problem1313 
.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/comments/6d622384-58cb-4fc6-8775-11400240f9d3.md+8 −0
diff --git a/.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/comments/6d622384-58cb-4fc6-8775-11400240f9d3.md b/.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/comments/6d622384-58cb-4fc6-8775-11400240f9d3.mdnew file mode 100644index 0000000..e27dec1--- /dev/null+++ b/.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/comments/6d622384-58cb-4fc6-8775-11400240f9d3.md@@ -0,0 +1,8 @@1+---2+id: 6d622384-58cb-4fc6-8775-11400240f9d33+author: null4+created: 2026-10-27T19:53:10.427470838Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI run `2026-10-27T19-50-04.907798288Z` passed; full `cargo test`, `node --test tests/pages_inbox.test.mjs`, fmt, and clippy green.7+8+`.forge`, `.forge/wiki`, `.forge/releases`, and `.forge/releases/out/<ver>` are resolved with `paths::repo_subdir` and must stay inside the checkout; `sorted_entries` skips symlinks; patch/CI-log reads use `read_text_capped`/`read_bytes_capped` with the 256 KiB cap. Verified external wiki/release artifacts/patch/CI logs and a symlinked `.forge` root never reach `dist/`; tests in `tests/review5_hardening.rs`.
.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/issue.md+2 −2
diff --git a/.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/issue.md b/.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/issue.mdindex ff9d559..ac54ec7 100644--- a/.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/issue.md+++ b/.forge/issues/43b943b9-4e27-4b4a-a7d2-550f9a1e99d5/issue.md@@ -1,13 +1,13 @@11 ---22 id: 43b943b9-4e27-4b4a-a7d2-550f9a1e99d533 title: Hostile .forge symlinks escape the repo and publish host files4-state: open4+state: closed55 labels:66 - kind:security77 assignees: []88 milestone: null99 created: 2026-10-27T18:39:53.651563186Z10-updated: null10+updated: 2026-10-27T19:53:10.436268596Z1111 ---1212 ## Problem1313 
.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/comments/c8cc1664-38ab-42e7-ab68-936330a70f1e.md+8 −0
diff --git a/.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/comments/c8cc1664-38ab-42e7-ab68-936330a70f1e.md b/.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/comments/c8cc1664-38ab-42e7-ab68-936330a70f1e.mdnew file mode 100644index 0000000..65ff36b--- /dev/null+++ b/.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/comments/c8cc1664-38ab-42e7-ab68-936330a70f1e.md@@ -0,0 +1,8 @@1+---2+id: c8cc1664-38ab-42e7-ab68-936330a70f1e3+author: null4+created: 2026-10-27T19:53:10.405622601Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI run `2026-10-27T19-50-04.907798288Z` passed; full `cargo test`, `node --test tests/pages_inbox.test.mjs`, fmt, and clippy green.7+8+`_headers` now emits `/releases/:version/*` (one named placeholder + one splat). Wrangler 4.154.0 reports "Parsed 3 valid header rules"; `/releases/v1/evil.html` 308→`/releases/v1/evil` 200 with `Content-Disposition: attachment`, and `.svg`/`.txt` artifacts also download. Regression test `tests/review5_hardening.rs::pages_headers_use_one_splat_for_artifacts`.
.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/issue.md+2 −2
diff --git a/.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/issue.md b/.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/issue.mdindex f2cd8fb..85a0c0b 100644--- a/.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/issue.md+++ b/.forge/issues/567552a1-389b-4856-9e3e-1b320d5f1095/issue.md@@ -1,13 +1,13 @@11 ---22 id: 567552a1-389b-4856-9e3e-1b320d5f109533 title: Pages artifact download policy is invalid (two splats), allowing active HTML/SVG4-state: open4+state: closed55 labels:66 - kind:security77 assignees: []88 milestone: null99 created: 2026-10-27T18:39:46.325820585Z10-updated: null10+updated: 2026-10-27T19:53:10.416654271Z1111 ---1212 ## Problem1313 
.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/comments/5e50e38e-6b42-40e8-ac1e-0a4a8dea182c.md+8 −0
diff --git a/.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/comments/5e50e38e-6b42-40e8-ac1e-0a4a8dea182c.md b/.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/comments/5e50e38e-6b42-40e8-ac1e-0a4a8dea182c.mdnew file mode 100644index 0000000..debdbda--- /dev/null+++ b/.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/comments/5e50e38e-6b42-40e8-ac1e-0a4a8dea182c.md@@ -0,0 +1,8 @@1+---2+id: 5e50e38e-6b42-40e8-ac1e-0a4a8dea182c3+author: null4+created: 2026-10-27T19:53:10.446313912Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI run `2026-10-27T19-50-04.907798288Z` passed; full `cargo test`, `node --test tests/pages_inbox.test.mjs`, fmt, and clippy green.7+8+`parse_ts_secs` now rejects non-ASCII input before any byte slicing. The 200×`€`/`+€!` fixture builds successfully, preserving the raw timestamp text; test `multibyte_timestamps_do_not_panic`.
.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/issue.md+2 −2
diff --git a/.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/issue.md b/.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/issue.mdindex 0929286..8a8ecd2 100644--- a/.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/issue.md+++ b/.forge/issues/7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a45/issue.md@@ -1,13 +1,13 @@11 ---22 id: 7d4b2e5a-09b9-4d6d-bb2e-1aeabb3c5a4533 title: parse_ts_secs panics on multibyte timestamps4-state: open4+state: closed55 labels:66 - kind:build77 assignees: []88 milestone: null99 created: 2026-10-27T18:39:58.917947713Z10-updated: null10+updated: 2026-10-27T19:53:10.454706639Z1111 ---1212 ## Problem1313 
.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/comments/47788bc3-21a5-448f-9dae-cddbe739ae12.md+8 −0
diff --git a/.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/comments/47788bc3-21a5-448f-9dae-cddbe739ae12.md b/.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/comments/47788bc3-21a5-448f-9dae-cddbe739ae12.mdnew file mode 100644index 0000000..02375f3--- /dev/null+++ b/.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/comments/47788bc3-21a5-448f-9dae-cddbe739ae12.md@@ -0,0 +1,8 @@1+---2+id: 47788bc3-21a5-448f-9dae-cddbe739ae123+author: null4+created: 2026-10-27T19:53:10.574477312Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI run `2026-10-27T19-50-04.907798288Z` passed; full `cargo test`, `node --test tests/pages_inbox.test.mjs`, fmt, and clippy green.7+8+`serve` now sends `Referrer-Policy: strict-origin-when-cross-origin` on static, 404, inbox, and streamed responses. `serve_404_headers_and_bundle_symlinks_are_safe` asserts it on 200 and 404 responses.
.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/issue.md+2 −2
diff --git a/.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/issue.md b/.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/issue.mdindex 70357e4..32fe39f 100644--- a/.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/issue.md+++ b/.forge/issues/84471c41-0394-4e55-a408-0a4fbd5f6fff/issue.md@@ -1,13 +1,13 @@11 ---22 id: 84471c41-0394-4e55-a408-0a4fbd5f6fff33 title: serve omits the Referrer-Policy header that Pages sends globally4-state: open4+state: closed55 labels:66 - kind:security77 assignees: []88 milestone: null99 created: 2026-10-27T19:38:02.842303681Z10-updated: null10+updated: 2026-10-27T19:53:10.582424410Z1111 ---1212 ## Problem1313 
.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/comments/5b38fcbc-b842-4751-843d-92de7e76af9f.md+8 −0
diff --git a/.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/comments/5b38fcbc-b842-4751-843d-92de7e76af9f.md b/.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/comments/5b38fcbc-b842-4751-843d-92de7e76af9f.mdnew file mode 100644index 0000000..8ed1464--- /dev/null+++ b/.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/comments/5b38fcbc-b842-4751-843d-92de7e76af9f.md@@ -0,0 +1,8 @@1+---2+id: 5b38fcbc-b842-4751-843d-92de7e76af9f3+author: null4+created: 2026-10-27T19:53:10.519587302Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI run `2026-10-27T19-50-04.907798288Z` passed; full `cargo test`, `node --test tests/pages_inbox.test.mjs`, fmt, and clippy green.7+8+Relative markdown destinations are rewritten against README/file/wiki/release/issue/PR context (`/files/...html`, `/wiki/...html`, `/raw/...`), raster images are copied to `/assets/...` and linked inline (SVG/HTML stay downloads), and headings get deduplicated ids. Tests cover README, nested file, wiki, release, issue, and PR links plus anchors.
.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/issue.md+2 −2
diff --git a/.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/issue.md b/.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/issue.mdindex 940976a..38631f9 100644--- a/.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/issue.md+++ b/.forge/issues/8882516a-8e3e-4197-978e-c3718eaf3854/issue.md@@ -1,13 +1,13 @@11 ---22 id: 8882516a-8e3e-4197-978e-c3718eaf385433 title: Relative markdown links/images and heading anchors 404 in generated pages4-state: open4+state: closed55 labels:66 - area:render77 assignees: []88 milestone: null99 created: 2026-10-27T18:40:23.190333659Z10-updated: null10+updated: 2026-10-27T19:53:10.528735901Z1111 ---1212 ## Problem1313 
.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/comments/56593092-b2ed-48ab-8718-94b4da69d3b9.md+8 −0
diff --git a/.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/comments/56593092-b2ed-48ab-8718-94b4da69d3b9.md b/.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/comments/56593092-b2ed-48ab-8718-94b4da69d3b9.mdnew file mode 100644index 0000000..3c05c40--- /dev/null+++ b/.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/comments/56593092-b2ed-48ab-8718-94b4da69d3b9.md@@ -0,0 +1,8 @@1+---2+id: 56593092-b2ed-48ab-8718-94b4da69d3b93+author: null4+created: 2026-10-27T19:53:10.499706345Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI run `2026-10-27T19-50-04.907798288Z` passed; full `cargo test`, `node --test tests/pages_inbox.test.mjs`, fmt, and clippy green.7+8+`static_not_found` resolves `404.html` and requires it to stay under resolved `www`; an outside symlink falls back to the branded stub without leaking the target. Combined serve test also covers Referrer-Policy and the bundle symlink.
.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/issue.md+2 −2
diff --git a/.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/issue.md b/.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/issue.mdindex 3f760c0..6447361 100644--- a/.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/issue.md+++ b/.forge/issues/9c2726a2-8e2b-47cf-9a09-94b13aa491e4/issue.md@@ -1,13 +1,13 @@11 ---22 id: 9c2726a2-8e2b-47cf-9a09-94b13aa491e433 title: serve 404.html symlink escapes www and leaks host files4-state: open4+state: closed55 labels:66 - kind:security77 assignees: []88 milestone: null99 created: 2026-10-27T18:40:16.931258254Z10-updated: null10+updated: 2026-10-27T19:53:10.508711324Z1111 ---1212 ## Problem1313 
.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/comments/9ea53f7d-4de6-4bb3-9af0-c0480a2c5601.md+8 −0
diff --git a/.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/comments/9ea53f7d-4de6-4bb3-9af0-c0480a2c5601.md b/.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/comments/9ea53f7d-4de6-4bb3-9af0-c0480a2c5601.mdnew file mode 100644index 0000000..dc97940--- /dev/null+++ b/.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/comments/9ea53f7d-4de6-4bb3-9af0-c0480a2c5601.md@@ -0,0 +1,8 @@1+---2+id: 9ea53f7d-4de6-4bb3-9af0-c0480a2c56013+author: null4+created: 2026-10-27T19:53:10.539746412Z5+---6+Fixed in PR #62 (`0983d394-af31-4249-9f13-953766963072`, commit `87c3c12`, merged `74d5bad`). CI `2026-10-27T19-51-44.580964991Z` passed.7+8+Unknown top-level subcommands now exit 2; `tests/build_cli.rs::unknown_subcommand_exits_two` covers it.
.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/issue.md+2 −2
diff --git a/.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/issue.md b/.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/issue.mdindex 78e745a..8832780 100644--- a/.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/issue.md+++ b/.forge/issues/9c980dd0-e76b-4ff9-876f-40eec632d434/issue.md@@ -1,13 +1,13 @@11 ---22 id: 9c980dd0-e76b-4ff9-876f-40eec632d43433 title: Unknown top-level subcommand exits 04-state: open4+state: closed55 labels:66 - kind:build77 assignees: []88 milestone: null99 created: 2026-10-27T18:40:27.937158000Z10-updated: null10+updated: 2026-10-27T19:53:10.547894027Z1111 ---1212 ## Problem1313 
.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/comments/d3ce58c5-6770-4c6f-8f87-85232cacc255.md+8 −0
diff --git a/.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/comments/d3ce58c5-6770-4c6f-8f87-85232cacc255.md b/.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/comments/d3ce58c5-6770-4c6f-8f87-85232cacc255.mdnew file mode 100644index 0000000..9961b8b--- /dev/null+++ b/.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/comments/d3ce58c5-6770-4c6f-8f87-85232cacc255.md@@ -0,0 +1,8 @@1+---2+id: d3ce58c5-6770-4c6f-8f87-85232cacc2553+author: null4+created: 2026-10-27T19:53:10.591753859Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI `2026-10-27T19-50-04.907798288Z` passed; Node tests 11/11.7+8+`overQuota` now paginates R2 `list` cursors until the configured limit is counted (fails closed on a truncated page without a cursor); the isolate rate map fails closed for a new key at `MAX_RATE_KEYS` after the expiry sweep. Added a 1500-object quota regression.
.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/issue.md+2 −2
diff --git a/.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/issue.md b/.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/issue.mdindex f83b566..f2bdfff 100644--- a/.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/issue.md+++ b/.forge/issues/b05b67af-8f59-4937-9107-8bee57577889/issue.md@@ -1,13 +1,13 @@11 ---22 id: b05b67af-8f59-4937-9107-8bee5757788933 title: Pages inbox quota stops checking at 1000 objects; rate map has no hard cap4-state: open4+state: closed55 labels:66 - kind:security77 assignees: []88 milestone: null99 created: 2026-10-27T19:38:20.426674442Z10-updated: null10+updated: 2026-10-27T19:53:10.601819764Z1111 ---1212 ## Problem1313 
.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/comments/2747e0fe-83b3-45be-9833-6121cf321b69.md+8 −0
diff --git a/.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/comments/2747e0fe-83b3-45be-9833-6121cf321b69.md b/.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/comments/2747e0fe-83b3-45be-9833-6121cf321b69.mdnew file mode 100644index 0000000..882700f--- /dev/null+++ b/.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/comments/2747e0fe-83b3-45be-9833-6121cf321b69.md@@ -0,0 +1,8 @@1+---2+id: 2747e0fe-83b3-45be-9833-6121cf321b693+author: null4+created: 2026-10-27T19:53:10.613071057Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI run `2026-10-27T19-50-04.907798288Z` passed; full `cargo test`, `node --test tests/pages_inbox.test.mjs`, fmt, and clippy green.7+8+`prepare_git_dir` resolves `www/repo.bundle` and requires the target under resolved `www`; an outside symlink leaves smart HTTP disabled (`/repo.bundle/info/refs` 404). Combined serve test covers it.
.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/issue.md+2 −2
diff --git a/.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/issue.md b/.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/issue.mdindex 102d120..ec8153d 100644--- a/.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/issue.md+++ b/.forge/issues/e366f211-4815-4f08-8003-56c5b11f8b6b/issue.md@@ -1,13 +1,13 @@11 ---22 id: e366f211-4815-4f08-8003-56c5b11f8b6b33 title: serve prepare_git_dir follows a repo.bundle symlink outside www4-state: open4+state: closed55 labels:66 - kind:security77 assignees: []88 milestone: null99 created: 2026-10-27T19:38:26.533319234Z10-updated: null10+updated: 2026-10-27T19:53:10.623302644Z1111 ---1212 ## Problem1313 
.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/comments/b5c57f0d-39d7-417d-ae3d-e04ef12c3c8a.md+8 −0
diff --git a/.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/comments/b5c57f0d-39d7-417d-ae3d-e04ef12c3c8a.md b/.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/comments/b5c57f0d-39d7-417d-ae3d-e04ef12c3c8a.mdnew file mode 100644index 0000000..fe1cb9d--- /dev/null+++ b/.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/comments/b5c57f0d-39d7-417d-ae3d-e04ef12c3c8a.md@@ -0,0 +1,8 @@1+---2+id: b5c57f0d-39d7-417d-ae3d-e04ef12c3c8a3+author: null4+created: 2026-10-27T19:53:10.481831472Z5+---6+Fixed in PR #61 (`3df93c3a-bd5e-43f4-bb73-0f3dd886eeb1`, commit `938c647`, merged `7639571`). CI run `2026-10-27T19-50-04.907798288Z` passed; full `cargo test`, `node --test tests/pages_inbox.test.mjs`, fmt, and clippy green.7+8+`paths::is_reserved_index` rejects `index` (case-insensitive) for issue/PR ids, release versions, and root wiki pages before writing. The generated `issues/pulls/releases/wiki` indexes remain intact; test `reserved_index_names_do_not_hijack_section_indexes`.
.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/issue.md+2 −2
diff --git a/.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/issue.md b/.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/issue.mdindex 4b46598..aa9871f 100644--- a/.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/issue.md+++ b/.forge/issues/ebaa1e1e-c386-49b4-92e2-8118a61f9175/issue.md@@ -1,13 +1,13 @@11 ---22 id: ebaa1e1e-c386-49b4-92e2-8118a61f917533 title: Reserved index names can overwrite section indexes (releases/issues/pulls/wiki)4-state: open4+state: closed55 labels:66 - area:render77 assignees: []88 milestone: null99 created: 2026-10-27T18:40:11.379047814Z10-updated: null10+updated: 2026-10-27T19:53:10.490515246Z1111 ---1212 ## Problem1313