Skip to content

Latest commit

 

History

History
124 lines (96 loc) · 8.88 KB

File metadata and controls

124 lines (96 loc) · 8.88 KB

kamp.us — Roadmap

The living roadmap of kamp.us: the founder-voice source of direction. GitHub milestones are its operational projection. Agents ground in this file the way they ground in an ADR — it says what we build next, and why, in order. Conversation-authored (ADR-0075 idiom); revised at arc boundaries or when the founder calls it. Not a pipeline surface — this is product direction (ADR 0078).

What kamp.us is

kamp.us, reborn. A small, earnest community built around three products — sözlük (the community of definitions), pano (the shared board of links and posts), and mecmua (long-form publishing) — bound by künye, earned-authorship identity: you arrive a çaylak and become a yazar by vouch (kefil), not by signup. Quality over growth; the founders are the first users; nothing seeded. An autonomous software factory builds it.

How this roadmap works

Direction flows top-down: vision → arcs → milestones → epics → features. An arc is a themed chapter of work, projected onto a GitHub milestone. Exactly one arc is active at a time — it defines "now," and priority is relative to it (p1 = current arc). The intake pipeline stays deliberately direction-blind; this roadmap is the layer that gives it direction. When an arc flips active, stale priorities re-price against the new active arc.

Dependency graph

Generated top-down view of the roadmap: every arc and campaign is a node styled by its lifecycle state (active / queued / done); edges are the real cross-item dependencies declared in the ## Dependencies section below. GitHub renders this natively on the repo page. It is generated from the tables — never hand-edit it; regenerate with pipeline-cli roadmap diagram.

%% GENERATED by `pipeline-cli roadmap diagram` — do not hand-edit; regenerate.
%% Nodes = every ## Arcs / ## Campaigns row (styled by state); edges = ## Dependencies rows (#3870).
flowchart TD
	subgraph arcs["Arcs"]
		arc_four_pillars["Four Pillars"]:::done
		arc_ge_it["Geçit"]:::active
		arc_mecmua_v2["Mecmua v2"]:::queued
		arc_at_lye["Atölye"]:::done
	end
	subgraph campaigns["Campaigns"]
		camp_mentor_audit["Mentor Audit"]:::active
		camp_crew_mcp_finish_replace_the_tmux_relay_with_crew_mcp["Crew-MCP Finish — replace the tmux relay with crew-mcp"]:::done
		camp_deterministic_crew_mechanics["Deterministic Crew Mechanics"]:::active
		camp_di_taxis_docs_pipeline_crew_mcp["Diátaxis docs — pipeline-crew & -mcp"]:::done
		camp_merge_gate_reliability["Merge-Gate Reliability"]:::active
		camp_worktree_isolation_integrity["Worktree-Isolation Integrity"]:::active
		camp_cp_verdict_integrity["§CP Verdict Integrity"]:::active
		camp_flag_graduation["Flag Graduation"]:::active
		camp_pipeline_cli_glue_consolidation["pipeline-cli Glue Consolidation"]:::active
		camp_lint_gate_adoption["Lint-Gate Adoption"]:::active
		camp_taste_skill_library["Taste-Skill Library"]:::active
		camp_pipeline_anywhere["Pipeline Anywhere"]:::active
		camp_pipeline_cli_effect_platform_migration["pipeline-cli @effect/platform migration"]:::active
		camp_agentic_design_system_coverage["Agentic design-system coverage"]:::done
		camp_flag_retirement_adr_0136["Flag Retirement (ADR 0136)"]:::active
		camp_writing_craft_import["Writing-Craft Import"]:::done
		camp_fabrika_kampus_pipeline_v2["fabrika — kampus-pipeline v2"]:::active
	end
	ext_3642["#3642"]:::external
	ext_3833["#3833"]:::external
	ext_adr_0202["ADR 0202"]:::external
	ext_triage_rubric["Triage rubric"]:::external
	ext_3642 --> camp_flag_graduation
	ext_3833 --> camp_pipeline_anywhere
	ext_adr_0202 --> ext_triage_rubric
	classDef active fill:#1a7f37,stroke:#116329,color:#ffffff;
	classDef queued fill:#9a6700,stroke:#7d4e00,color:#ffffff;
	classDef done fill:#57606a,stroke:#424a53,color:#ffffff;
	classDef external fill:#ddf4ff,stroke:#54aeff,color:#0550ae,stroke-dasharray:5 5;
Loading

Arcs

Arc Milestone State
Four Pillars #17 done
Geçit #24 active
Mecmua v2 #25 queued
Atölye #26 done

Four Pillarsdone. Frontend polish and the encoded design system: the four pillars — Performance, Cohesiveness, Usability, Accessibility — made real and enforced (ADR 0162, the design-system manifest). The surface of kamp.us becomes excellent and self-consistent. The nav-IA discipline landed here.

Geçitactive. The passage. The membrane of the community: onboarding, künye (the reputation DO), and moderation. How a stranger becomes a çaylak, a çaylak becomes a yazar by vouch, and how the community governs itself. The çaylak→yazar journey — undefined today — gets designed here. (The earlier künye milestone folded in.)

Mecmua v2 — The next chapter of long-form publishing: the Thinking-Machines 3-zone reading layout, and the reading/authoring experience maturing past v1.

Atölyethe workshop. The in-product museum of craft: curated exhibits, live and playable, where kamp.us shows how it is made.

Campaigns

Campaigns are bounded, milestone-backed pushes that run concurrently with the active product arc, drained through the platform lane (ADR 0072 semantics; ADR 0078 engineering-led).

Campaign Milestone State
Mentor Audit #27 active
Crew-MCP Finish — replace the tmux relay with crew-mcp #28 done
Deterministic Crew Mechanics #29 active
Diátaxis docs — pipeline-crew & -mcp #31 done
Merge-Gate Reliability #36 active
Worktree-Isolation Integrity #37 active
§CP Verdict Integrity #38 active
Flag Graduation #39 active
pipeline-cli Glue Consolidation #40 active
Lint-Gate Adoption #41 active
Taste-Skill Library #42 active
Pipeline Anywhere #35 active
pipeline-cli @effect/platform migration #32 active
Agentic design-system coverage #33 done
Flag Retirement (ADR 0136) #34 active
Writing-Craft Import #30 done
fabrika — kampus-pipeline v2 #44 active

The table is a parsed contract. It is the single source the campaign skill (which appends a row and flips its state) and the lifecycle guard (which reads it) both bind to, so the grammar is pinned here rather than re-derived at either end:

  • Columns are Campaign | Milestone | State, in that order. Campaign is the founder-voice name; Milestone pins the campaign to its GitHub milestone by number (#N) — the same row→milestone-by-number binding the roadmap-guard already enforces on ## Arcs, and that number is the one link to the operational projection. State is the lifecycle cell.
  • State ∈ {active, done} — the symmetric two-state lifecycle. A campaign is active while its milestone is draining, and flips to done once that milestone is fully drained (its GitHub milestone closed). There is no queued state: unlike an arc, a campaign is not sequenced ahead — it opens active when the founder starts it and ends done, running concurrently with whichever arc is active.

Mentor Audit — a security & architecture audit wave (the staff-mentor findings: the karma double-bump race, per-actor rate limiting, ops runbooks, SECURITY.md, …). To be solved ASAP; drains via the platform lane alongside Geçit.

Dependencies

The explicit cross-item dependency declaration that drives the diagram at the top of this file. Each row is one directed edge Blocker → Blocks: the Blocker must land before the Blocks node can proceed. An endpoint is either an arc/campaign name from the tables above (which binds the edge to that state-styled node) or an external reference — an issue #N, an ADR NNNN, or a not-yet-tabled arc — which renders as a dashed external node. This section is additive and is not the pinned Campaigns-table contract; it lives in its own section so the Campaigns grammar (Campaign | Milestone | State) is untouched.

Campaign→arc concurrency (a campaign draining alongside the active arc via the platform lane) is contextual, not a dependency — it is deliberately not an edge here.

Blocker Blocks Why
#3642 Flag Graduation anka-ops cutover must land before the Flag Graduation (#39) drain can complete
#3833 Pipeline Anywhere publish-isolation guard precedes the Pipeline Anywhere external arcs
ADR 0202 Triage rubric the CrewOps declarative-state doctrine precedes the triage-rubric change

Regenerate the diagram after editing any table with pipeline-cli roadmap diagram; the follow-up roadmap-guard extension fails CI closed when the committed block drifts from the tables + this declaration (#3870).

Standing lanes

Not everything is an arc. Pipeline & reliability hardening is continuous, milestone-less work carried on the axis:pipeline-hardening label — the factory maintaining itself. It runs always, in the platform lane, and is never a product arc.