docs: clean up the three drift items flagged in #112#113
Merged
Conversation
Follow-up to #112. Three items were flagged there as "not done — would expand scope". This commit addresses all three. 1. dune-project: relax OCaml constraint to match reality ------------------------------------------------------- `dune-project` declared `(ocaml (>= 5.1))`, but the current tree builds clean on 4.14.2 (209/209 tests green; verified in #112). The constraint was stricter than the actual code requires, so `opam install .` against a 4.14 switch failed for no real reason. Bumped down to `(ocaml (>= 4.14))`. `affinescript.opam` regenerated via `dune build` and the corresponding README note ("dune-project lists `>= 5.1` but ...") is no longer needed and has been dropped. If a 5.x-only feature is later introduced, bump the constraint at that point with a commit that links the offending source line. 2. AI.a2ml: fix .scm → .a2ml drift, align with on-disk reality -------------------------------------------------------------- `AI.a2ml` told agents to read `.machine_readable/STATE.scm`, `AGENTIC.scm`, etc., and to "read `.machine_readable/*.scm` files at session start". None of those files exist — the actual files are `.a2ml`, living under `.machine_readable/6a2/` (per the canonical rule that `.scm` is reserved for Guix: `guix.scm`, `.guix-channel`). Rewrote the file to reflect the actual on-disk layout, split into: - Core 6a2 metadata under `.machine_readable/6a2/` - Top-level contractile files (`*.contractile`, `CLADE.a2ml`, anchors) - Agent guidance (`agent_instructions/methodology.a2ml` etc.) Workflow steps now point at `STATE.a2ml` and `AGENTIC.a2ml` with the correct path prefix. 3. CONTRIBUTING.md: replace template placeholders, fix truncation ----------------------------------------------------------------- `CONTRIBUTING.md` was a half-rendered standards template: - Started with a bare `# Clone the repository` (no title, no intro, with a dangling closing ` ``` ` left over from a deleted fence). - Placeholders never substituted: `{{FORGE}}`, `{{OWNER}}`, `{{REPO}}`, `{{MAIN_BRANCH}}`. - Ended mid-sentence in the Conventional Commits format block (line 117 with an unclosed code fence and no closing sections — License / CoC pointers, PR workflow, etc.). - Suggested setup steps that don't apply here (`nix develop`, `toolbox`, `just check`) — affinescript builds with `dune`. Rewrote as a real contributor guide: - Title + intro pointing at README.adoc and STATE.a2ml. - Quick Start matching the README's opam + `eval $(opam env)` recipe. - Repository Structure that reflects what's actually on disk (lib/, bin/, stdlib/, packages/, .machine_readable/, js/ for the playground). - Real GitHub label URLs. - Branch naming + Conventional Commits + Required Checks + Pull Requests sections, all closed out properly. - License + Code of Conduct pointers at the bottom. Notably dropped: the "Perimeter 1/2/3" framework from the source template — it does not appear anywhere else in the affinescript tree (only in vendored sibling-repo `.github/` mirrors), so it was template baggage rather than project vocabulary. CODE_OF_CONDUCT.md is still a placeholder template — that's a separate pass (kept out of this PR to keep it reviewable). Verification ------------ $ dune build → exit 0 $ dune runtest → 209/209 green Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3 tasks
hyperpolymath
added a commit
that referenced
this pull request
May 15, 2026
Follow-up to #112 / #113. `CODE_OF_CONDUCT.md` was the same kind of half-rendered template as the original `CONTRIBUTING.md`: it shipped with a `TEMPLATE INSTRUCTIONS` HTML-comment block at the top and `{{PROJECT_NAME}}`, `{{CONDUCT_EMAIL}}`, `{{CONDUCT_TEAM}}`, `{{RESPONSE_TIME}}`, `{{CURRENT_YEAR}}`, `{{FORGE}}`, `{{OWNER}}`, `{{REPO}}` placeholders unresolved. Changes: - Removed the `TEMPLATE INSTRUCTIONS` HTML-comment block at the top. - Filled all placeholders with real values: {{PROJECT_NAME}} → AffineScript {{CONDUCT_EMAIL}} → jonathan.jewell@gmail.com {{CONDUCT_TEAM}} → "the maintainers" (this is a solo-maintained personal estate; "team" / "committee" would overpromise) {{RESPONSE_TIME}} → 7 days (calibrated for solo-maintained response cadence rather than the 48h SLA the template suggested) {{CURRENT_YEAR}} → 2026 {{FORGE}}/{{OWNER}}/{{REPO}} → github.com / hyperpolymath / affinescript - Dropped the "Enforcement Across Perimeters" table — Perimeter 1/2/3 vocabulary is template-only and was also removed from CONTRIBUTING.md in #113. - Dropped the "Perimeter 2 applicants must confirm" line under Onboarding for the same reason. - Dropped the "Anonymous Form" row from the reporting table — its body was `[Link to form if available]` and no such form exists. - Dropped the "Maintainers receive additional training on enforcement" bullet — there is no such training programme; the line was aspirational template text. - Reworded the Appeals "different team member" claim (impossible with one maintainer) to "after consultation with an uninvolved party where possible" — honest about the conflict-of- interest mitigation that's actually available. - Reworded the Conflicts of Interest section to match the same single-maintainer reality. Base Contributor Covenant 2.1 attribution preserved. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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
Follow-up to #112. That PR fixed the README but flagged three drift items as out-of-scope. This PR clears them:
dune-project: relax(ocaml (>= 5.1))→(ocaml (>= 4.14))to match reality (209/209 tests on 4.14.2).affinescript.opamregenerated; the README note about the over-tight constraint is no longer needed and was dropped.AI.a2ml: the file told agents to read.machine_readable/*.scmfiles (STATE.scm, AGENTIC.scm, …). Those files do not exist — actual files are.a2mlunder.machine_readable/6a2/(per the canonical rule that.scmis reserved for Guix). Rewrote to reflect the actual on-disk layout, plus pointers to top-level.contractilefiles andagent_instructions/.CONTRIBUTING.md: was a half-rendered standards template — missing top-level header, dangling code fence, unsubstituted{{FORGE}}/{{OWNER}}/{{REPO}}/{{MAIN_BRANCH}}placeholders, suggestednix develop/toolbox/just checkinstead ofdune, and truncated mid-sentence on line 117. Rewrote as a real contributor guide: real Quick Start matching the README, accurate Repository Structure, real GitHub label URLs, closed-out Conventional Commits / Required Checks / Pull Requests sections, License + CoC pointers at the bottom. Dropped the "Perimeter 1/2/3" framework — it doesn't appear anywhere else in the affinescript tree.CODE_OF_CONDUCT.mdis still a placeholder template — left for a separate PR to keep this one reviewable.Test plan
dune buildexits 0dune runtest→ 209/209 greenaffinescript.opamregenerates cleanly from the newdune-projectAI.a2mlpaths cross-checked againstfind .machine_readable -type f🤖 Generated with Claude Code