4.5 KiB
Contributing to @waggle/hive-mind-core
This package is the canonical private-monorepo source for Waggle OS's memory substrate and its maintainer-curated Apache-2.0 OSS distribution. Contributions are welcome, but the private tree also contains Waggle-only material and must never be published directly.
Distribution and trust boundary
- Canonical source: private
marolinik/waggle-os, underpackages/hive-mind-core/. - Public contribution surface:
github.com/marolinik/hive-mind. - Distribution mechanism: a reviewed, maintainer-curated forward-port that adapts layout/imports and removes every private exclusion.
scripts/oss-subtree-split.shproduces local inspection refs only. Raw refs are never publication sources.
The public export excludes:
src/mind/evolution-runs.tssrc/mind/execution-traces.tssrc/mind/improvement-signals.ts- private vault/compliance surfaces outside this package
- interleaved
install_auditDDL and migration logic insidesrc/mind/{schema,db}.ts
A file filter cannot enforce the interleaved exclusion.
Direction of development
The private monorepo is the sole source of truth. Maintainers must not author features only in the public mirror.
- Author substrate changes in
waggle-os/packages/hive-mind-core/first. - Reverse-port accepted public contributions into the private monorepo before the next curated export.
- Run
scripts/oss-drift-check.shbefore every OSS release and after any arc that touched a Hive Mind checkout. The thin shell entrypoint delegates to the cross-platform Node 20 checker, which validatesscripts/oss-drift-baseline.jsonwithout updating or accepting it. Separate sections identify reviewed adaptations, intentional private exclusions, known reviewed blockers, unreviewed differences, forbidden whole-file leaks, and any interleavedinstall_auditmarker, including comments. - Treat exit
1as release-blocking source drift and exit2as an untrustworthy setup/configuration result. Exit0means the mapped bytes exactly match the reviewed clean baseline; it is not a substitute for maintainer review of a new forward-port.
Development setup
External contributors
Use the public mirror; private Waggle OS access is neither required nor expected.
git clone https://github.com/marolinik/hive-mind.git
cd hive-mind
npm install
npm run build
npm run test
npm run lint
Open branches, issues, and pull requests against marolinik/hive-mind.
Maintainers with private access
git clone https://github.com/marolinik/waggle-os.git
cd waggle-os
npm install
npx tsc --build packages/hive-mind-core/tsconfig.json
npx vitest run packages/hive-mind-core/tests
After the canonical change lands, prepare a separate curated forward-port in a clean public-mirror branch and review the complete export diff.
Node.js 20 or newer is required. Public contributors should use the public
mirror README and issues for current platform support. Maintainers working in
the private monorepo can additionally consult
packages/hive-mind-cli/docs/WINDOWS-QUIRKS.md.
Code style
- TypeScript strict mode; avoid
anyin application code. - ESM modules with
.jsextensions on relative imports where required by the emitted runtime. - Explicit return types for exported functions and public API methods.
- Follow the repository-root ESLint configuration.
Pull request checklist
- Work in the repository you are authorized to access: external contributors
use
marolinik/hive-mind; maintainers use the private canonical monorepo. - Name branches
feat/<short-description>orfix/<short-description>. - Add or extend tests for every non-trivial change.
- Run that repository's build, tests, and lint before opening the PR.
- In the PR body, explain the change, list verification, and state whether the curated OSS surface is affected.
Maintainers reverse-port accepted public changes into the canonical monorepo before preparing the next curated export.
Conduct, security, and license
This project follows the Contributor Covenant Code of Conduct.
Report security issues through a private security advisory on the public Hive
Mind mirror or
email hello@egzakta.com. Do not open a public vulnerability issue.
Contributions to the public mirror are licensed under Apache-2.0. Copyright and
notice terms are defined solely by LICENSE.