Skip to content

Record value types as out of scope (ADR-0007)#23

Merged
jbeda merged 2 commits into
mainfrom
value-types-out-of-scope
Jul 22, 2026
Merged

Record value types as out of scope (ADR-0007)#23
jbeda merged 2 commits into
mainfrom
value-types-out-of-scope

Conversation

@jbeda

@jbeda jbeda commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Cuts issue #11 (structured value types). On revisiting the types: shape
before building, we decided a top-level section of named, typed fields defines
record structure — an implementation detail the format abstracts away, and the
IDL line modelith deliberately holds (the same line ADR-0006 held for action
reports). A value-shaped concept is modeled as an owned entity or as attributes
on its owner, with rules stated as prose.

Changes

  • project-docs/adr/0007-value-types-out-of-scope.md (new) — records the
    decision; supersedes ADR-0005. Framed "for now, not never": the reopen bar is
    a concrete modeling failure, not expressiveness for its own sake.
  • project-docs/adr/0005-value-types.mdStatus: superseded by ADR-0007
    frontmatter; body left intact as the historical record (decisions aren't
    edited in place).
  • docs/06-schema-reference.md — value objects reframed from "being
    explored (Schema: value types (structured attribute types, lists) #11)" to a settled omission under "what this format deliberately
    leaves out."

Docs/ADR-only; no code, schema, or renderer change. Closes #11.

🤖 Generated with Claude Code

jbeda and others added 2 commits July 21, 2026 18:55
Structured value types (a top-level `types:` section with named, typed
fields) cross the IDL line the format resists: named typed fields define
record structure — implementation detail modelith abstracts away. A
value-shaped concept is modeled as an owned entity or as attributes on its
owner, with rules stated as prose.

- ADR-0007 records the decision (supersedes ADR-0005, which had decided to
  build value types; nothing was implemented).
- ADR-0005 marked superseded via Status frontmatter; body kept as the
  historical record.
- Schema reference reframes value objects from "being explored (#11)" to a
  settled omission.

Closes #11.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Joe Beda <joe@stacklok.com>
ADR-0006 cited ADR-0005 as precedent for "rules and shapes stay prose," but
ADR-0005 declared value-type shape via typed fields — the exact move ADR-0007
now rejects as crossing the IDL line. Point the citation at ADR-0007, the live
holder of that line, now that 0005 is superseded.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Joe Beda <joe@stacklok.com>
@jbeda

jbeda commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Review round 1 (docs-only, single Sonnet reviewer pass)

Per agent-workflow.md, a docs/ADR diff gets one reviewer pass. Two findings, both fixed; round comes back clean.

# Finding Resolution
1 ADR-0007 stated "Issue #11 is closed" while #11 was still open — a present-tense claim of an action not yet taken. Closed #11 as out of scope, making the statement true (no edit).
2 ADR-0006 cited ADR-0005 for the "rules and shapes stay prose" IDL line, but 0005's typed-fields decision is exactly what 0007 repudiates — and 0005 is now superseded. Stale reference this change created. Repointed the citation to ADR-0007 (commit 6320d74).

Verified clean: schema/code have no types:/repeated remnants (grep); ADR-0007 is the correct next number; supersede convention (new ADR + Status frontmatter on the old, not deleted) matches .claude/rules/adr.md; the "nothing to pin with a test" justification satisfies testing.md. No code, schema, or renderer touched.

@jbeda
jbeda marked this pull request as ready for review July 22, 2026 01:58
@jbeda
jbeda merged commit daf4a75 into main Jul 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Schema: value types (structured attribute types, lists)

1 participant