Progress
2026-02-21 16:03 - T-001
Overview: Restructured root source data into raw/ and clean/ directories.
Completed:
- refactor(pipeline): move xlsx and PDF source files into
source/raw - chore(pipeline): add
source/clean/.gitkeep
Files:
- source/raw/
- source/clean/.gitkeep
2026-02-21 16:03 - T-002
Overview: Updated all source config YAML paths to the new raw directory.
Completed:
- refactor(pipeline): rewrite source file paths to
source/raw/*in yearly YAML configs - test(pipeline): verified sync load resolves updated paths
Files:
- source/config/ions-2023.yaml
- source/config/ions-2024.yaml
- source/config/ions-2025.yaml
- source/config/ions-2026.yaml
2026-02-21 16:03 - T-003
Overview: Added Python workspace prefix and root directory.
Completed:
- refactor(*): add
@python/**to workspace package globs - chore(analytics): create root
@python/directory
Files:
- pnpm-workspace.yaml
- @python/
2026-02-21 16:03 - T-004
Overview: Migrated dbt project from @packages/transform to @python/analytics.
Completed:
- refactor(analytics): copy dbt project files into
@python/analytics - refactor(analytics): rename project package to
atlas-analytics - test(analytics): ran
uv run dbt debuganduv run dbt runsuccessfully - chore(analytics): remove legacy
@packages/transform
Files:
- @python/analytics/pyproject.toml
- @python/analytics/profiles.yml
- @python/analytics/models/
2026-02-21 16:03 - T-005
Overview: Scaffolded new @packages/pipeline package with Vitest support.
Completed:
- feat(pipeline): create package manifest, tsconfig, and eslint config
- chore(*): add
vitestto workspace catalogs - chore(*): run
pnpm installto refresh lockfile
Files:
- @packages/pipeline/package.json
- @packages/pipeline/tsconfig.json
- @packages/pipeline/eslint.config.mjs
- pnpm-workspace.yaml
2026-02-21 16:03 - T-006
Overview: Migrated sync load sources into pipeline package and merged DuckDB helpers.
Completed:
- refactor(pipeline): copy config/seed/load modules from sync package
- refactor(pipeline): merge raw-table helpers with Duck query client into shared duck module
- test(pipeline): ran
pnpm --filter @packages/pipeline test:type
Files:
- @packages/pipeline/@source/config.ts
- @packages/pipeline/@source/duck.ts
- @packages/pipeline/@source/load/csv.ts
- @packages/pipeline/@source/seed.ts
2026-02-21 16:03 - T-007
Overview: Migrated format sources into pipeline package and fixed import paths.
Completed:
- refactor(pipeline): copy format report/types/sections into
@source/format - refactor(pipeline): repoint all duck imports to merged pipeline duck module
- test(pipeline): reran
pnpm --filter @packages/pipeline test:type
Files:
- @packages/pipeline/@source/format/report.ts
- @packages/pipeline/@source/format/index.ts
- @packages/pipeline/@source/format/sections/
2026-02-21 16:03 - T-008
Overview: Added extract and validate placeholders for future implementation.
Completed:
- feat(pipeline): add
extract()stub module - feat(pipeline): add
validate()stub module
Files:
- @packages/pipeline/@source/extract/index.ts
- @packages/pipeline/@source/validate/index.ts
2026-02-21 16:03 - T-009
Overview: Built unified pipeline CLI with sub-command dispatch.
Completed:
- feat(pipeline): implement command parser and dispatcher for extract/load/validate/format/seed/run
- test(pipeline): validated load/format/seed/extract/validate and unknown-command behavior
- test(pipeline): reran
pnpm --filter @packages/pipeline test:type
Files:
- @packages/pipeline/@source/index.ts
2026-02-21 16:03 - T-010
Overview: Added Vitest configuration and initial unit tests.
Completed:
- test(pipeline): add Vitest config and tests for number utilities and CLI argument parsing
- refactor(pipeline): guard CLI execution so imports are test-safe
- test(*): run
pnpm --filter @packages/pipeline testand verifypnpm testincludes pipeline tests
Files:
- @packages/pipeline/vitest.config.ts
- @packages/pipeline/@source/tests/number.test.ts
- @packages/pipeline/@source/tests/config.test.ts
- turbo.json
2026-02-21 16:03 - T-011
Overview: Updated consumers to use pipeline package; dashboard type-check remains blocked by pre-existing errors.
Completed:
- refactor(present): migrate imports from
@packages/formatto@packages/pipeline/@source/format/* - refactor(*): update present/dashboard package dependencies to
@packages/pipeline - test(present):
pnpm --filter @services/present test:typepasses
Blockers:
pnpm --filter @services/dashboard test:typefails on existing dashboard route type issues unrelated to this migration
Files:
- @services/present/package.json
- @services/dashboard/package.json
- @services/present/@source/index.ts
2026-02-21 16:03 - T-012
Overview: Rewired root scripts and turbo task config to the unified pipeline package.
Completed:
- refactor(*): add
pipeline,extract,sync,validate, and updatedformatscripts in root package.json - refactor(*): route
sync:seedthrough pipelineseedsub-command - refactor(*): add
testtask inturbo.json - test(*): verify root
sync,extract,validate, andformatscripts execute through pipeline
Files:
- package.json
- turbo.json
2026-02-21 16:03 - T-013
Overview: Updated agent documentation for new package structure.
Completed:
- docs(*): update root architecture and command docs for pipeline + analytics workspaces
- docs(pipeline): add package-level AGENTS guide for unified CLI and source layout
- docs(analytics): update analytics AGENTS guide from old transform naming
Files:
- AGENTS.md
- @packages/pipeline/AGENTS.md
- @python/analytics/AGENTS.md
2026-02-21 16:03 - T-014
Overview: Removed legacy packages and ran full verification; monorepo still has pre-existing global quality blockers.
Completed:
- chore(*): remove
@packages/syncand@packages/format - test(*): run
pnpm install,pnpm build,pnpm test,pnpm run sync,uv run dbt run, andpnpm run format
Blockers:
pnpm test:typefails in@services/dashboardwith existing TypeScript errorspnpm lintfails in@core/aiwith existing lint violations
Files:
- @packages/sync/ (deleted)
- @packages/format/ (deleted)
2026-02-21 16:51 - T-002
Overview: Realigned source directory naming to @source/ and reconciled runtime path resolution with plan intent.
Completed:
- refactor(pipeline): move
source/{raw,clean,config}to@source/{raw,clean,config}and update YAML file paths - fix(pipeline): update project-root detection to require
@source/configin pipeline config loader and DB seed helper - fix(pipeline): correct load default DB path derivation to keep
atlas.dbat repository root - docs(pipeline): update active docs to reference
@source/config
Decisions:
- YAML
pathvalues starting with@are quoted to remain valid YAML scalars.
Files:
- @source/config/ions-2023.yaml
- @source/config/ions-2024.yaml
- @source/config/ions-2025.yaml
- @source/config/ions-2026.yaml
- @packages/pipeline/@source/config.ts
- @packages/db/@source/seed.ts
- @packages/pipeline/@source/load/csv.ts
- @packages/pipeline/AGENTS.md
- @plan/quickstart.md