Changes touching this path

  • the site metrics-path scrub hides every path under /k/<owner>/<repo>/ but the site public verbs, instead of a hand list of forge verbs, as the edge does since scripts 362f70d: FORGE_VERBS named 12 of the paths Route::path spells, so a route it did not name, propose/*, runners/*, jobs/*, grants/deposit and haves among them, was recorded with the owner key and the repo name. ROUTE_SHAPE_RULES are now the nginx map strings for /k and /private: the bare repo path, a remainder of lowercase words kept as the route shape, any other remainder as /k/:owner/:repo/:path, each excluding a first segment in SITE_PUBLIC_VERBS, and every /private/ path with an owner segment scrubbed, as scripts 19a111c does. pinned in metrics-path.test.ts, 11 tests: every Route::path spelling, its parse checked against the Route enum variants, scrubs to its shape and none begins with a public verb; a route nobody has written is scrubbed with no list edit; SITE_PUBLIC_VERBS equals the site k.$owner.$repo.<verb> routes and their paths are kept whole; the rules equal the scripts rules, carried as literals. red before the change (4 failed and 7 passed) and under named mutations, each restored: no public-verb exclusion (2 and 9), the exclusion without its segment boundary (2 and 9), any remainder kept (2 and 9), no catch-all (2 and 9), no owner-page rule (2 and 9), no /private/ catch-alls (2 and 9), a forge verb made public (3 and 8), a public verb dropped (2 and 9). site-main.yml now watches endpoint.rs, which the test reads. site gate green at 1069 passed, cargo test green, 4953 passed over 144 test result lines with 15 ignored. CONTEXT.md says so. owes a site deploy (lsoupnqm) c0d4731f · dbf3dbe6…

Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.