Skip to content

refactor: rename sealed to no-new-exports - #52

Merged
cuzfrog merged 1 commit into
mainfrom
dev_sealed_renaming
Jul 19, 2026
Merged

refactor: rename sealed to no-new-exports#52
cuzfrog merged 1 commit into
mainfrom
dev_sealed_renaming

Conversation

@abao-bot

@abao-bot abao-bot Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Renames the module descriptor key sealed to no-new-exports across the entire codebase. The previous term often confused AI agents, who would interpret it as locking the file body (similar to Rust/Java's sealed class); the new term makes the actual constraint explicit: the file's export surface is closed while the body remains editable.

This is a breaking change with no backward compatibility for the old key.

Changes

Descriptor schema

  • YAML frontmatter key: sealedno-new-exports

Domain types

  • ModuleContract.sealednoNewExports
  • ModuleFrontmatter field updated to match the hyphenated YAML key

Gate code

  • src/gates/sealed-gate.tsno-new-exports-gate.ts
  • checkSealedcheckNoNewExports
  • SealedCheckResultNoNewExportsCheckResult
  • Denial message updated to reference no-new-exports

Skill

  • skills/module-seal-all/skills/module-no-new-exports-all/
  • Script and type definition renamed accordingly
  • Manifest updated to new skill name

Fixtures and tests

  • All fixtures, behavior tests, claude hook e2e tests, and unit tests updated

Documentation

  • README terminology, examples, gate descriptions, and skill link updated
  • System prompt template updated
  • All tracked MODULE.md descriptors updated, including src/gates/MODULE.md visible list

Package

  • Bumped to 0.22.0 for the breaking descriptor rename

Notes

Unrelated language-level uses of sealed (Kotlin sealed class, Scala sealed trait, Java sealed class, TypeScript @sealed decorator tests) are intentionally preserved.

Rename the module contract field, frontmatter key, gate, skill, fixtures, tests, and documentation. The package version is bumped for the breaking descriptor rename.

Co-Authored-By: Claude <noreply@anthropic.com>
@cuzfrog
cuzfrog merged commit 30bfe89 into main Jul 19, 2026
1 check passed
@cuzfrog
cuzfrog deleted the dev_sealed_renaming branch July 19, 2026 17:07
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