docs: add PRIOR-ART.md — prior formats compared, gaps with proposed solutions#30
Open
LeslieOA wants to merge 3 commits into
Open
docs: add PRIOR-ART.md — prior formats compared, gaps with proposed solutions#30LeslieOA wants to merge 3 commits into
LeslieOA wants to merge 3 commits into
Conversation
…irtable / Notion How \`.table/\` sits relative to existing formats, with a focus on where it deliberately doesn't compete (presentation, formulas, styling) and where it has real gaps that should be closed (computed fields, multi-target relations, ecosystem). Each gap has a concrete proposed solution sketched out — minimum viable, backwards-compatible, and tied to existing issues where relevant (computed fields ↔ a future spec extension; multi-target relations ↔ a \`cardinality\` field; ecosystem ↔ #5 CSV converter + #19 Rust reference core). Naming matches the existing docs/ convention (SPEC, ARCHITECTURE, DECISIONS, PERMISSIONS) — single-noun, factual.
Original section dismissed cell styling wholesale. That conflated two different things: - Excel-style per-cell decoration (conditional formatting rules, manual highlighting, custom fonts / borders) → stays out. It's presentation, doesn't round-trip, used as private annotation. - Notion / Airtable-style schema-encoded display semantics (per-enum- value colors, number/date format strings, field descriptions and icons) → in scope, and the right place to invest. Author intent travels with the data; two consumers agree on "active = green" because the schema says so. Concrete proposed schema additions sketched out: - Per-enum-value display objects (value, color, label) with backwards- compatible coercion from current string-array form - Number \`format\` strings (closed set: integer, decimal:N, percent, currency:CODE, duration:UNIT) - Date \`format\` strings (iso, short, long, relative, weekday) - String \`format\` extensions (plain, markdown, url, email, phone) - Field \`description\` and \`icon\` Color values stay symbolic (\`green\`, not \`#22c55e\`) so consumers own the palette. Format vocabularies are closed, not arbitrary printf. Thesis section at top updated to reflect the cleaner position — "author intent that round-trips" replaces the vaguer "presentation is the consuming app's job."
…rally Previous revision framed "Excel-style cell decoration" as a private annotation system. That conflated two unrelated things and got the positioning wrong. \`.table/\` has no private layer. Everything written into the directory is visible to every authorized consumer, identically. The right reason to exclude per-cell decoration isn't that it'd be private — it's that the format pushes authors toward "make it a field" (typed, named, queryable) over "scribble a color on it" (none of those). Updates: - Thesis: spells out "no private layer" explicitly. - Cell-level-decoration section: reframed around the structural-vs- scattered argument, not the private-vs-shared one. - New "What lives OUTSIDE a \`.table/\`" section enumerates the consumer-local concerns the format intentionally doesn't carry — per-user UI prefs, selection state, ACLs, computed view results. Anchor for future questions about user-local styling.
This was referenced May 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Comparison file living in `docs/` alongside SPEC, ARCHITECTURE, DECISIONS, PERMISSIONS. Naming matches the convention (single-noun, factual).
What's in it
What this PR isn't
Test plan
🤖 Generated with Claude Code