Skip to content

docs(specs): bootstrap linked specs and isolate build sources#245

Merged
dpc merged 1 commit into
rustshop:masterfrom
dpc:dpc/jj-tvppzrtnrnln
Jul 24, 2026
Merged

docs(specs): bootstrap linked specs and isolate build sources#245
dpc merged 1 commit into
rustshop:masterfrom
dpc:dpc/jj-tvppzrtnrnln

Conversation

@dpc

@dpc dpc commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • bootstrap Linked Specs with project and Nix-library architecture records
  • adopt the convention in AGENTS.md
  • recursively exclude specs directories from repository-derived package, docs, check, fixture, and template-project build sources
  • update source examples and sharpen source-identity coverage

The source filters remain explicit at each integration point; the general fromPaths/fromFileset semantics do not change. The intentional checks/source-tests.nix fixture specs directories remain test inputs.

Records added

  • specs/ARCH-flakebox.md
  • lib/specs/ARCH-flakebox-nix-library.md

The root overview owns the small CLI boundary. This bootstrap intentionally adds no DECISION, REQ, SPEC, CLI component record, or index.

Validation

  • nix develop -c treefmt
  • nix flake check --no-build -L
  • focused builds for source tests, ast-grep rules, custom stdenv, docs, and Flakebox
  • nix develop -c selfci check --candidate tvppzrtn

An independent code/maintainability review and the required focused Linked Specs review passed without findings.

### Summary

Bootstrap a small Linked Specs corpus that maps Flakebox and its Nix library without duplicating user documentation. Explicitly prune recursively nested `specs` directories from repository-derived package, documentation, check, fixture, and template-project build sources so governing records cannot invalidate builds. Keep the general source APIs composable rather than changing `fromPaths` defaults.

### Details

Add the project adoption instruction and the root `ARCH-flakebox` overview plus the independently useful `lib/` architecture record. Omit CLI, decision, requirement, and functional records because the root overview owns the CLI boundary and no surveyed candidates met the stricter thresholds.

Apply `source.filters.excludeDirectoriesNamed [ "specs" ]` at each relevant source construction, including Flakebox packaging, mdBook, ast-grep, Cargo check fixtures, the default template's build, and user-facing source examples. Preserve the `checks/source-tests.nix` fixture directories and sharpen their existing source-identity assertions to name Linked Specs edits and selected build-input edits explicitly.

### Reviews

An independent maintainability/code review and the required focused Linked Specs review both passed without findings. The reviewer also noted an unrelated, pre-existing stale template-lock problem; this change does not introduce or worsen it.

### Validation

- `nix develop -c treefmt`
- `nix flake check --no-build -L`
- focused builds for source tests, ast-grep rules, custom stdenv, docs, and Flakebox
- `nix develop -c selfci check --candidate tvppzrtn`
@dpc
dpc marked this pull request as ready for review July 24, 2026 19:15
@dpc
dpc merged commit 727c0f4 into rustshop:master Jul 24, 2026
4 checks passed
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