Skip to content

Fold CONVENTIONS.md into CONTRIBUTING.md and delete it - #38

Merged
kishuxz merged 1 commit into
mainfrom
fold-conventions
Aug 15, 2026
Merged

kishuxz merged 1 commit into
mainfrom
fold-conventions

Conversation

@kishuxz

@kishuxz kishuxz commented Aug 15, 2026

Copy link
Copy Markdown
Owner

CONVENTIONS.md existed to explain which scaffolding conventions came from a reference project and which the brief overrode. That framing is useful to nobody but the author now. The conventions themselves still bind, so they move. The provenance goes.

Moved into CONTRIBUTING.md

All fifteen conventions, rewritten without the comparisons:

Convention Kept because
ESM everywhere, .js on relative imports A contributor adding a file has to match it
Packages resolve to src/index.ts, not dist/ Explains why there is no build step
engines, Node 20, packageManager Setup
Strict beyond strict: true, with the five flags named noUncheckedIndexedAccess is load-bearing for messages[]
ESLint, deliberately no formatter, plus the style rules that replace one Tells you what the lint gate does and does not cover
Vitest configured once at the root Tells you where to add a test
File-header block comments explaining the decision The house style for new source files
Colon-namespaced scripts, plain verbs at top level Naming a new script
Root scripts delegate to the owning package Where a CLI is actually defined
Precise, greppable CLI failure output The output is the gate on every corpus edit
Tolerant reads, strict writes Why the validator reports all failures at once
Static invariants enforced by tests, not review Directly answers "do I need a test for this"
Docs formatting Writing a new document
.context/ is gitignored Workspace hygiene

Dropped

  • the reference-project narrative and every comparison clause
  • the "Where the brief overrode gstack" table
  • three decisions-log rows that recorded only that provenance: the Bun-to-pnpm/Vitest switch, and the no-linter position with its later reversal

The dropped table listed Node 20 + pnpm, Vitest, the packages/* + apps/* shape, and strict TypeScript. Every one of those survives elsewhere in the same file, in the engines convention, the Vitest convention, the Layout block and the strict-tsconfig convention, so nothing operational was lost. The no-linter reversal nets out to "ESLint yes, formatter no", which the Conventions prose now states directly.

The remaining ten decisions-log rows are design constraints a contributor still has to work within (spans validated inside ThreadSchema, UTF-16 offsets, bucket in the thread_id prefix, split stored per thread, quoted-substring authoring, IoU matching, three thresholds, prediction format living in eval, generated fixtures, committed results/). They move intact.

References removed

Zero CONVENTIONS or gstack references remain anywhere in the repo.

Verification

  • pnpm check: 229 tests passing
  • pnpm validate: 200 threads, 273 loops, 510 spans, all resolve. PASS
  • No em or en dashes introduced

Scaffolding-era leftovers found elsewhere are reported in the PR discussion rather than changed here, per the brief.

🤖 Generated with Claude Code

CONVENTIONS.md was written to explain which scaffolding conventions came
from a reference project and which the brief overrode. That framing is
useful to nobody but the author now. The conventions themselves are
still binding, so they move; the provenance goes.

Moved into CONTRIBUTING.md, all fifteen conventions, rewritten without
the comparisons: ESM setup and .js relative imports, packages resolving
to TypeScript source, engines, the strict tsconfig flags, ESLint with no
formatter and the style rules that replace one, single-root Vitest,
file-header comment style, script naming, root scripts delegating to the
owning package, greppable CLI failure output, tolerant reads with strict
writes, invariants enforced by tests rather than review, docs formatting,
and .context being gitignored.

Dropped: the reference-project narrative, the table of what the brief
overrode, and three decisions-log rows that only recorded that
provenance. The table's substance survives elsewhere in the same file,
in the engines and tsconfig conventions and the Layout block, so nothing
operational was lost. The remaining ten decisions-log rows are design
constraints a contributor still has to work within, so they move intact.

References removed from CONTRIBUTING.md in both places. The README
stopped linking to it when the document index moved. PR bodies 1, 14 and
16 were edited to drop their links.

pnpm check passes with 229 tests, pnpm validate passes with 200 threads,
273 loops and 510 spans all resolving.
@vercel

vercel Bot commented Aug 15, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openloop-bench Ready Ready Preview Aug 15, 2026 8:39am

@kishuxz
kishuxz merged commit 340bc8f into main Aug 15, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
Preview — a2159b6d Deployed Aug 15, 2026 by vercel[bot]
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.

1 participant