Skip to content

RFCs — Request for Comments

RFCs explore open technical questions with deliberation. Each RFC names a question, frames the alternatives honestly, and proposes a path forward. RFCs close into ADRs once a decision is made.

RFCs are not implementation specs and not justifications-after-the-fact. They're real deliberation captured.

Reference

  • ../adr/TA.md — technical architecture. Every RFC anchors here via TA/components/... or TA/constraints.
  • RFC_TEMPLATE.md — the format every RFC follows.

Index

RFC Title Status Closes into
RFC-001 XMP synthesizer architecture Decided ADR-050 (Path A parser + error contract) + ADR-063 (Path B unblocking; resolves the iop_order question)
RFC-002 Canonical XMP serialization for stable hashing Decided ADR-054 (closes)
RFC-003 Mask storage in versioning Decided ADR-055 (closes)
RFC-004 Default masking provider — coarse vs SAM Decided ADR-058 (closes)
RFC-005 Pipeline stage protocol — abstract now or YAGNI Decided ADR-052 (closes)
RFC-006 Same-module collision behavior Decided ADR-051 (closes); deviated from in-call-collision proposal — see ADR rationale
RFC-007 modversion drift handling Decided ADR-082 (closes)
RFC-008 Vocabulary discovery at scale Draft v0.1 (speculative)
RFC-009 Mask provider protocol shape Decided ADR-057 (closes)
RFC-010 MCP tool surface — parameter shapes and errors Decided ADR-056 (closes)
RFC-011 Agent context loading order and format Decided ADR-059 (closes)
RFC-012 Programmatic vocabulary generation (Path C) Decided ADR-073 (closes)
RFC-013 Vocabulary gap surfacing format Decided ADR-060 (closes)
RFC-014 End-of-session synthesis flow Decided ADR-061 (closes)
RFC-015 EXIF auto-binding rules Decided ADR-053 (closes)
RFC-016 Versioned prompt system Decided ADR-043, ADR-044, ADR-045
RFC-017 Evaluation harness and auto-research workflow Accepted (design); built Phase 5 ADR-046, ADR-047
RFC-018 Vocabulary expansion for expressive taste articulation Decided ADR-063, ADR-064, ADR-073
RFC-019 Reference-image validation baseline Decided ADR-066, ADR-067, ADR-068
RFC-020 Command-line interface for Chemigram Decided ADR-069, ADR-070, ADR-071, ADR-072
RFC-021 Parameterized vocabulary magnitudes (Path C as default for continuous-magnitude modules) Decided ADR-077, ADR-078, ADR-079, ADR-080 (closes)
RFC-022 Bulk parameterization of common-use darktable modules (tiered baseline) Decided ADR-081 (closes; explicitly amends ADR-008)
RFC-023 HSL Color Mixer parity (colorzones vs colorequal backing) Decided ADR-083 (closes)
RFC-024 Range masks (color-range / luminance-range / depth-range / subject) Decided ADR-085 (closes; depth + subject deferred to RFC-026)
RFC-025 Spot removal / heal architecture (retouch byte serialization) Decided ADR-087 (closes; AI auto-detection deferred to RFC-030)
RFC-026 LLM-vision-as-provider for AI-derived masks (MVP, conversation-native) Decided ADR-086 (closes)
RFC-029 Compositional masks at apply time (build-by-words) Decided ADR-084 (closes)
RFC-030 Deployed sibling-provider scaffolding for precision-tier AI masks Draft v0.1 (deferred)
RFC-031 Batched per-region adjustment meta-tool Draft v0.1 (impl shipped) — (pending)
RFC-032 Named-mask vocabulary on v1.9.0 mask primitives Draft v0.1 (impl shipped) — (pending; possibly two ADRs)
RFC-033 Skin-tone uniformity primitive Draft v0.1 (Path B impl shipped; gated on visual review) — (pending; path depends on visual review)
RFC-034 invert flag on named-mask references Draft v0.1 (parametric impl shipped) — (pending)
RFC-035 Parametric L2 strength (opacity-as-amount) Decided (Path B); ADR-088 Draft until darkroom validation ADR-088 (closes; flips to Accepted on darkroom-session sign-off)
RFC-036 Mixed-op apply_per_region (un-defer of RFC-031) Decided; ADR-089 Draft until darkroom validation ADR-089 (closes; flips to Accepted on darkroom-session sign-off)
RFC-037 propagate_state MCP verb (anchor-and-sync workflow) Decided; ADR-090 Draft until darkroom validation ADR-090 (closes; flips to Accepted on darkroom-session sign-off)
RFC-038 Mode B autonomous session protocol Draft v0.1 (v1.11+ pick — biggest next thing) — (pending; closes into ≥2 ADRs once implementation evidence lands)

Maturity legend

  • Draft v0.1 — written; deliberation captured; awaiting implementation evidence to close
  • Draft v0.1 (speculative) — question identified but problem isn't real yet (e.g. vocabulary too small to need discovery tooling); placeholder until it becomes pressing
  • Draft v0.1 (deferred) — question identified, deliberately not being argued in this round; revisit later
  • Accepted — design decision settled; closing ADRs lock the structural pieces. Distinct from "Decided" because the RFC remains a living reference for the rationale.
  • Accepted (design); built Phase X — design accepted now, implementation deferred to a named phase
  • Decided — closed into one or more ADRs; remains as historical record

Conventions

  • Numbered sequentially (RFC-NNN-slug.md)
  • Every RFC has a "Why this is an RFC" gating sentence in the header
  • "Alternatives considered" must list real alternatives with honest reasons for rejection
  • An RFC that argues for something already-decided is an ADR; close and start over