Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,9 @@ parameter semantics in the `docs { }` block.

## Gotchas

- Database migrations support stable-release upgrade paths. Alpha and beta
databases are ephemeral and should be reset or recreated rather than carried
forward by permanent nightly-only migration scripts.
- STIX version rules: the bundle envelope carries `spec_version` only in STIX
2.0 (2.1 removed it; each 2.1 *object* declares its own `spec_version`).
Marking definitions have no `stix.modified`.
Expand All @@ -156,6 +159,15 @@ parameter semantics in the `docs { }` block.
- Legacy endpoints under deprecation (e.g. `GET /api/stix-bundles`) are
replaced by release-tracks equivalents — check
`docs/developer/release-tracks/bundle-export.md` before extending them.
- Release-track bundle export has one content path: replay the snapshot's
sealed content manifest (`docs/developer/release-tracks/sealed-content-manifests.md`).
Never add live relationship discovery, secondary-SDO expansion, or a
deletable "graph cache" to release-track exports; drafts inherit their
predecessor's manifest and only member-changing writes seal a new one. The
`x-mitre-collection` object is a projection, not a stored object.
- A virtual track's `snapshot_schedule` is live registry configuration, not
historical snapshot state. Schedule changes must update the registry without
cloning a draft; Workbench snapshot responses project the current schedule.
- Historic full-suite flake (fixed 2026-07-10): per-spec-file mongod
restarts hit "Port already in use", failing a random file's `before` hook
(visible as `loginAnonymous` 404s). `database-in-memory.js` now reuses one
Expand Down
8 changes: 8 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,14 @@ When commits are pushed to a release branch (main, next, etc.), semantic-release

Pre-release branches (alpha, beta) will generate pre-release versions with appropriate suffixes.

### Pre-release database compatibility

Alpha and beta builds do not provide a persistent database upgrade contract.
Their schemas and stored data may change rapidly, so developers should reset or
recreate pre-release databases instead of adding long-lived migrations solely
to carry nightly data forward. Database migrations are reserved for supported
upgrade paths between stable releases.

## Docker Image Publishing

The project publishes Docker images to the GitHub Container Registry (ghcr.io) with these tags:
Expand Down
Loading
Loading