docs: .affex face-interop manifest spec draft#93
Merged
Conversation
Writes docs/specs/affex-spec.md, covering: - Design decision: Shape 3 (face-interop manifest) as the primary form, with Shape 1 (side-by-side listing) as a derived view generated on demand - File extension policy: tooling-only, not parsed by the compiler - JSON format schema (affex/1): package manifest with per-declaration face renderings, body digest, override blocks - CLI surface: affex generate, affex render, affex diff - LSP integration plan - Generation strategy and CI recommendation - Explicit satisfaction criteria for closing #84 (per the requirements-target closure rule) Does not close #84 — closure requires explicit mutual agreement recorded in the issue thread. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6 tasks
Estate rule: docs/ files use .adoc extension; .md is reserved for files GitHub community-health rules special-case by name (CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, CHANGELOG.md, README.md). General specs must be .adoc. This commit: - git mv docs/specs/affex-spec.md -> docs/specs/affex-spec.adoc - Converts Markdown headings (#, ##, ###, ####) to AsciiDoc (=, ==, ===, ====) - Converts Markdown pipe tables to AsciiDoc [cols=...] |=== blocks - Converts code fences to AsciiDoc [source,json] ---- listing blocks - Converts emphasis (bold, italic) to AsciiDoc (* and _ markers) - Adds standard AffineScript-spec preamble (SPDX, :toc:, :source-highlighter:) - Updates internal §9 reference to point at the new .adoc filename Refs #84. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
hyperpolymath
added a commit
that referenced
this pull request
May 11, 2026
…ude/CLAUDE.md Estate-wide governance rules for the Hypatia review bot and the gitbot-fleet auto-merge bot. Kept in a standalone section so the bots can read it cold without parsing the rest of CLAUDE.md. Four rules: - DOC-FORMAT: docs/ uses .adoc; .md only for community-health filenames. - DOC-DEDUP: block two open PRs from closing the same issue. - STACK-SIGNAL: docs PRs that document an unmerged feature must declare "Depends on: #NNN" and not auto-merge until the dep merges. - ISSUE-CLOSURE: bots never close issues directly; only via PR merge keywords or explicit human agreement. These rules are derived from the recurring failure modes seen in the PR #91 / #92 / #93 / #94 batch (duplicate codegen-env doc PRs both closing #89; affex-spec.md instead of .adoc; missing "Depends on: #92" on the docs PR for extern grammar). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Owner
Author
Estate-rule fix-up: renamed
|
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.
Summary
Draft spec for
.affex— the face-bridging file format from issue #84.affex/1JSON schema: per-package, per-declaration, per-face signature renderings with body digests and override blocksaffinescript affex generate,affex render,affex diffCLI commands.affex— face-bridging file format for cross-exolanguage interop #84Does not close #84
Per the closure rule: this issue closes only when Claude and the user explicitly and mutually agree, in a recorded exchange, that the spec has been satisfied. This PR is the spec proposal — closing #84 requires a recorded agreement in the issue thread after review.
Test plan
docs/specs/affex-spec.mdin full — does the format make sense?.affex— face-bridging file format for cross-exolanguage interop #84 to trigger closure.🤖 Generated with Claude Code