Skip to content

feat: put go-code-standards in the corpus - #88

Merged
retr0h merged 1 commit into
mainfrom
feat/sync-go-code-standards
Aug 16, 2026
Merged

feat: put go-code-standards in the corpus#88
retr0h merged 1 commit into
mainfrom
feat/sync-go-code-standards

Conversation

@retr0h

@retr0h retr0h commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Five repositories name go-code-standards as the source for their Go conventions. It was not in openspec/specs/. It existed only inside the unarchived change, at openspec/changes/specify-go-code-standards/specs/go-code-standards/spec.md, so a reader following the pointer to where the corpus lives found nothing.

Why this is now urgent

That gap was survivable while every repository also kept a local copy of the rules. It stopped being survivable when osapi-io/gohai#163 merged: gohai dropped its copy, so the conventions are now stated in exactly one place — and until this PR, that place was not reachable from the corpus.

osapi is in the same position after osapi-io/osapi#450, and osapi-io/osapi-orchestrator#76 would put a third repository there. That PR should not merge before this one.

Synced, not archived

The change is not finished — 3.4 (hand-written mocks) and 3.5 (the export_test.go audit) are open. CONTRIBUTING.md sanctions exactly this:

Sync merges deltas into specs/ without archiving. Reach for it when… the corpus should reflect what was actually built, before the change is finished.

Merged as a new main spec: 7 requirements, 13 scenarios, delta operation headers resolved into a single ## Requirements section per the main-spec format.

Also corrects the record

Section 2 claimed nats-client and nats-server pointed at the capability without restating it. They don't — they restate under ## Code style with lowercase headings (### Function signatures, ### Go patterns), which an earlier check missed by scoping to ## Code standards. So all four Go libraries restated, not two, and tasks 2.2/2.3 are reopened to reflect that.

A new task 2.0 records the ordering this PR establishes: the capability must be in the corpus before a repository can rely on the pointer alone.

Verification

  • openspec validate --specs — 7 passed, 0 failed
  • just test — 11 passed, 0 failed

🤖 Generated with Claude Code

Five repositories name go-code-standards as the source for their Go
conventions. It was not in openspec/specs/ -- it existed only inside the
unarchived change, so a reader following the pointer to where the corpus
lives found nothing.

That was survivable while each repository also kept a local copy. It
stopped being survivable when gohai dropped its copy: the rules are now
stated in one place, and until this sync that place was not reachable.

Synced rather than archived because the change is not finished -- the
hand-written mocks and the export_test.go audit are still open.

Also corrects the record on section 2. All four Go libraries restated
the capability, not two; nats-client and nats-server still do, under
Code style rather than Code standards, which an earlier check scoped to
the wrong heading and missed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Thank you for contributing to this project! 😊🕹️

@retr0h
retr0h merged commit bcae704 into main Aug 16, 2026
6 checks passed
@retr0h
retr0h deleted the feat/sync-go-code-standards branch August 16, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant