# noCV engineering task library

Content version 5

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.

Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.

## CBUILD — An incremental build graph with correct invalidation

Fictional static documentation compiler Rowan transforms synthetic text modules through a deterministic local adapter. It never executes candidate source as code.

**Field:** Compiler and language tooling. **Suggested stack:** TypeScript, Filesystem adapter, Vitest.

**Engineer value:** Practice dependency graphs and cache correctness.

**Company value:** Inspect whether build speed improvements preserve output correctness.

**Delivery agreement:** Measure local fixture behavior; broad compiler-performance claims are excluded.

### Setup prerequisites

- Create a synthetic module graph and deterministic transform stub.

- Provide file-change, missing-input and interrupted-output fixtures.

### Establish dependency identity

Parse and validate local graph edges.

#### CBUILD-101 — Normalize local build paths without merging distinct modules

**Task · Medium priority · Foundational**

noCV practice brief v5 · CBUILD-101 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Establish dependency identity. Depends on: No preceding ticket.

Difficulty: Foundational. Estimated focused work: 90 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Developer tooling 50% · Compiler and language tooling 30% · Security 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Relative spellings create duplicate graph nodes. Define canonical module identity under an explicit workspace root.

Acceptance criteria

- Equivalent local paths share identity

- Escaping paths are rejected

- Case behavior is documented per adapter

Implementation constraints

- Do not silently assume case-insensitive filesystems.

Verification

- Resolve relative alias

- Reject path escaping fixture root

Deliverables

- Module identity resolver

Rollout and recovery: Disable reuse for ambiguous path identities.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### CBUILD-102 — Report missing static-build imports at their source location

**Bug · Medium priority · Foundational**

noCV practice brief v5 · CBUILD-102 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Establish dependency identity. Depends on: CBUILD-101.

Difficulty: Foundational. Estimated focused work: 75 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Compiler and language tooling 70% · Developer tooling 30%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

A missing import yields an internal file error. Map resolution failure to the importing source span.

Acceptance criteria

- Missing path identifies importer

- Valid imports resolve

- Error omits unrelated absolute paths

Implementation constraints

- Use synthetic source content only.

Verification

- Resolve present import

- Reference absent module

Deliverables

- Import diagnostic and cases

Rollout and recovery: Stop affected module build while preserving other diagnostics.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### CBUILD-103 — Detect static-build dependency cycles with a readable path

**Task · High priority · Intermediate**

noCV practice brief v5 · CBUILD-103 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Establish dependency identity. Depends on: CBUILD-101, CBUILD-102.

Difficulty: Intermediate. Estimated focused work: 135 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Compiler and language tooling 60% · Developer tooling 40%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Recursive imports hang graph traversal. Detect cycles and return the concrete edge path.

Acceptance criteria

- Acyclic graph builds

- Cycle includes involved modules

- Repeated traversal terminates

Implementation constraints

- Bound reported cycle length for large inputs.

Verification

- Traverse diamond graph

- Introduce three-node cycle

Deliverables

- Cycle detector and fixtures

Rollout and recovery: Refuse cyclic graph outputs until cycle policy is defined.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

### Invalidate and rebuild

Reuse only compatible outputs.

#### CBUILD-104 — Include transform configuration in static-build cache identity

**Bug · High priority · Advanced**

noCV practice brief v5 · CBUILD-104 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Invalidate and rebuild. Depends on: CBUILD-103.

Difficulty: Advanced. Estimated focused work: 165 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Developer tooling 50% · Compiler and language tooling 30% · Performance engineering 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Changing compiler options reuses output produced under older options. Hash normalized inputs and configuration.

Acceptance criteria

- Same inputs reuse output

- Changed options invalidate

- Transform version participates in key

Implementation constraints

- Hash canonical configuration, not property insertion order.

Verification

- Reorder equivalent config keys

- Change output-affecting option

Deliverables

- Cache-key contract and cases

Rollout and recovery: Disable cache reuse after unknown configuration changes.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### CBUILD-105 — Invalidate transitive static-build dependents after source changes

**Task · High priority · Advanced**

noCV practice brief v5 · CBUILD-105 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Invalidate and rebuild. Depends on: CBUILD-103, CBUILD-104.

Difficulty: Advanced. Estimated focused work: 180 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Compiler and language tooling 50% · Developer tooling 30% · Performance engineering 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Updating a shared module rebuilds it but leaves dependent pages stale. Traverse reverse dependency edges.

Acceptance criteria

- Direct and transitive dependents rebuild

- Unrelated modules remain reusable

- Removed edges stop unnecessary invalidation

Implementation constraints

- Use previous and current graph where edge removal matters.

Verification

- Change shared leaf

- Remove dependency then change old leaf

Deliverables

- Invalidation planner and graph cases

Rollout and recovery: Rebuild all fixture modules if invalidation is uncertain.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### CBUILD-106 — Track failed static-build nodes without caching broken outputs

**Bug · High priority · Intermediate**

noCV practice brief v5 · CBUILD-106 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Invalidate and rebuild. Depends on: CBUILD-104, CBUILD-105.

Difficulty: Intermediate. Estimated focused work: 120 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Developer tooling 60% · Compiler and language tooling 40%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

A failed transform writes a cache entry that future builds treat as success. Separate failure from reusable output.

Acceptance criteria

- Only successful validated output caches

- Failure retains diagnostics

- Next build retries affected node

Implementation constraints

- Never replace last good output with partial bytes silently.

Verification

- Build successful node

- Fail transform after partial output

Deliverables

- Build result states and failure cases

Rollout and recovery: Clear only affected invalid cache entries and retry.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### CBUILD-107 — Make incremental static builds deterministic across worker order

**Task · High priority · Expert**

noCV practice brief v5 · CBUILD-107 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Invalidate and rebuild. Depends on: CBUILD-105, CBUILD-106.

Difficulty: Expert. Estimated focused work: 240 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Developer tooling 50% · Compiler and language tooling 50%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Parallel transform completion changes manifest ordering and output hashes. Separate execution scheduling from canonical publication.

Acceptance criteria

- Equivalent graphs yield identical manifests

- Dependencies complete before consumers

- Failed nodes cannot publish

Implementation constraints

- Use controllable local transform promises.

Verification

- Resolve independent workers in opposite order

- Fail one dependency

Deliverables

- Deterministic scheduler and order cases

Rollout and recovery: Use serial execution while ordering invariants are repaired.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

### Recover interrupted builds

Publish outputs and explain cache decisions.

#### CBUILD-108 — Publish a static-build output generation only after all required nodes pass

**Story · High priority · Advanced**

noCV practice brief v5 · CBUILD-108 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Recover interrupted builds. Depends on: CBUILD-106, CBUILD-107.

Difficulty: Advanced. Estimated focused work: 180 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Developer tooling 50% · Storage systems 30% · Site reliability 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Readers see mixed old and new files during a build. Write a staging generation and switch a manifest pointer.

Acceptance criteria

- Failed builds keep previous generation

- Successful generation is complete

- Switch recovery selects one valid manifest

Implementation constraints

- Keep prior generation until activation is durable.

Verification

- Publish successful fixture

- Crash before manifest switch

Deliverables

- Generation publisher and recovery cases

Rollout and recovery: Restore prior manifest on failed post-switch checks.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### CBUILD-109 — Coalesce repeated static-build file events without missing deletion

**Bug · Medium priority · Intermediate**

noCV practice brief v5 · CBUILD-109 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Recover interrupted builds. Depends on: CBUILD-105, CBUILD-108.

Difficulty: Intermediate. Estimated focused work: 135 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Developer tooling 60% · Compiler and language tooling 40%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Editors emit many change events and a final delete can be swallowed by debounce. Track final invalidation intent per module.

Acceptance criteria

- Repeated updates coalesce

- Deletion remains authoritative

- Change during build schedules another pass

Implementation constraints

- File events are hints; resolve actual state before building.

Verification

- Burst-save one file

- Delete during active build

Deliverables

- Event coordinator and race cases

Rollout and recovery: Use explicit rebuild requests if watcher semantics are unreliable.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### CBUILD-110 — Explain why each static-build module was reused or rebuilt

**Chore · Low priority · Intermediate**

noCV practice brief v5 · CBUILD-110 · An incremental build graph with correct invalidation

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Recover interrupted builds. Depends on: CBUILD-104, CBUILD-109.

Difficulty: Intermediate. Estimated focused work: 120 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Developer tooling 80% · Compiler and language tooling 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Developers cannot distinguish cache misses from invalidation bugs. Emit structured decision reasons without source text.

Acceptance criteria

- Reasons identify changed input category

- Reuse points to compatible key

- Diagnostics omit source contents

Implementation constraints

- Local timing observations must state fixture and environment.

Verification

- Inspect unchanged build

- Change transform version and inspect reasons

Deliverables

- Build decision report

Rollout and recovery: Disable report fields that expose source content.

Project prerequisites: Create a synthetic module graph and deterministic transform stub. Provide file-change, missing-input and interrupted-output fixtures.

Engineer value: Practice dependency graphs and cache correctness.

Company value: Inspect whether build speed improvements preserve output correctness.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.
