// c31 — model: /goal slash-command registry. Each /goal that drove a // PR on this site lives as a markdown file in goals/.md with // YAML frontmatter, and this registry indexes them so /goals, // /goals/:slug, and the sitemap have a single source of truth. // // FILENAME CONVENTION: every goal file is named goals/.md, NOT // goals/.md. The merge SHA is in the frontmatter as merge_sha: // — looked up via b32_goals_meta.findGoalByMergeSha. Rationale: the // SHA doesn't exist when the /goal is written (chicken-and-egg), and // /goals/ is a more readable canonical permalink. SHA lookup // still works in one grep: `grep -l "merge_sha: 968890f" goals/`. // See /blog/2026-05/sama-v2-goal-chain-gap for the design rationale. // Five-status taxonomy: // pending — in-flight; mergeSha/prNumber null; file exists on the branch // shipped — verbatim /goal text recovered from PR body/conversation; file exists // lossy — paraphrased recovery (e.g. from conversation summary); file exists // with a "recovered from conversation summary, not verbatim" banner // lost — no recoverable source; registry entry only, NO file on disk; // /goals/ renders metadata-only at 200 // abandoned — PR closed without merging export type GoalStatus = "pending" | "shipped" | "lossy" | "lost" | "abandoned"; export interface GoalEntry { slug: string; title: string; // ISO date — when the /goal was authored. date: string; // Git branch name used during the work (matches the slug by convention). branch: string; // Null for in-flight goals; populated post-merge. prNumber: number | null; // Short SHA of the merge commit on main. Null until merged. mergeSha: string | null; status: GoalStatus; // Slugs of blog posts that plan, execute, or postmortem this goal. relatedPosts: string[]; } export const ALL_GOALS: GoalEntry[] = [ { slug: "sama-cli-shell-verifier", title: "Linux-native shell-based SAMA v2 verifier — second independent implementation", date: "2026-05-25", branch: "sama-cli-shell-verifier", prNumber: 60, mergeSha: "13f9114", status: "shipped", relatedPosts: [ "sama-v2-verifier-and-the-rename", "sama-v2-metrics-emitter", ], }, { slug: "blog-date-prefix", title: "Move /blog/ → /blog// — data-driven portability test", date: "2026-05-25", branch: "blog-date-prefix", prNumber: 55, mergeSha: "72919e8", status: "shipped", relatedPosts: ["sama-v2-second-url-refactor-postmortem"], }, { slug: "sama-discipline-prefix", title: "Move /sama/ → /sama/discipline/ — hypothesis test", date: "2026-05-25", branch: "sama-discipline-prefix", prNumber: 53, mergeSha: "f806580", status: "shipped", relatedPosts: ["sama-v2-git-url-refactor-postmortem"], }, { slug: "contributing-md", title: "Build CONTRIBUTING.md as the canonical on-ramp + drift-detection test", date: "2026-05-25", branch: "contributing-md", prNumber: 51, mergeSha: "96225f8", status: "shipped", relatedPosts: ["sama-v2-on-ramp-gap"], }, { slug: "migrate-historical-goals", title: "Migrate historical /goals + lock down the authoring workflow", date: "2026-05-25", branch: "migrate-historical-goals", prNumber: 47, mergeSha: "5ce83fe", status: "shipped", relatedPosts: ["sama-v2-goal-chain-gap"], }, { slug: "build-goals-registry", title: "Build /goals registry + site surface (goal #1)", date: "2026-05-25", branch: "goals-registry-build", prNumber: 45, mergeSha: "e923da8", status: "shipped", relatedPosts: ["sama-v2-goal-chain-gap"], }, { slug: "git-url-drop-owner", title: "Drop redundant :owner segment from /GIT/ URLs", date: "2026-05-25", branch: "git-url-drop-owner", prNumber: 42, mergeSha: "684f257", status: "shipped", relatedPosts: [ "sama-v2-git-url-refactor-plan", "sama-v2-git-url-refactor-postmortem", ], }, { slug: "sitemap-xml-impl", title: "Add automatically-generated /sitemap.xml from existing registries", date: "2026-05-25", branch: "sitemap-xml-impl", prNumber: 40, mergeSha: "3280af8", status: "shipped", relatedPosts: ["sama-v2-sitemap-implementation-plan"], }, { slug: "graph-depth-polyglot", title: "Port §5 graphDepth metric to Go + Rust", date: "2026-05-24", branch: "sama-v2-graphdepth-polyglot", prNumber: 34, mergeSha: "832b7c9", status: "lossy", relatedPosts: ["sama-v2-go-project-dive", "sama-v2-rust-project-ripgrep"], }, { slug: "polyglot-baseline-n7", title: "Run polyglot §5 workingSetFit against 5 more CLI tools (n=7 baseline)", date: "2026-05-24", branch: "sama-v2-workingset-cross-repo-baseline", prNumber: 33, mergeSha: "60056b1", status: "lossy", relatedPosts: ["sama-v2-workingset-cross-repo-baseline"], }, { slug: "working-set-polyglot", title: "Port §5 workingSetFit metric to Go + Rust source trees", date: "2026-05-24", branch: "sama-v2-workingset-polyglot-measured", prNumber: 32, mergeSha: "43c6f7a", status: "lossy", relatedPosts: [ "sama-v2-go-project-dive", "sama-v2-rust-project-ripgrep", "sama-v2-workingset-cross-repo-baseline", ], }, { slug: "v21-dialects-spec", title: "Draft three v2.1 dialects into §6 + profile-parser tolerance", date: "2026-05-24", branch: "sama-v2-1-dialects-drafted", prNumber: 31, mergeSha: "f244dbb", status: "lossy", relatedPosts: ["sama-v2-rust-project-ripgrep", "sama-v2-go-project-dive"], }, { slug: "sama-rewrite-v2-first", title: "Rewrite /sama using SV \"latest is default, legacy preserved\" pattern", date: "2026-05-24", branch: "sama-v2-first-images", prNumber: 36, mergeSha: "fd50ede", status: "lossy", relatedPosts: [], }, ];