Refactor/s1 project file#62
Merged
Merged
Conversation
Adds scripts/config/project.ts as the typed foundation for the project file layer described in Phase 0 / Sprint 1 Issue #1. All pipeline stages will eventually read episode metadata, tool versions, and run parameters from .ragtech/project.json rather than passing them as CLI flags. Kept synchronous and dependency-free (plain Node fs). writeProject() creates the .ragtech/ directory if absent and writes pretty-printed JSON. readProject() throws a typed ProjectNotFoundError when the file is missing so callers can distinguish a missing project from other I/O failures. AC: reading existing project file succeeds, writing creates .ragtech/project.json, read/write roundtrip preserves structure
…able Sprint 1 Issue #1 (project file configuration layer) is implemented on refactor/s1-project-file. Added scripts/config/project.ts to the Key Source Files table so future agents know where the project-file helpers live.
✅ Deploy Preview for deckcreate ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
…tion Pattern: integration test placed in scripts/ instead of tests/integration/ Observed in: refactor/s1-project-file — 2026-05-09
Member
Author
Agent Use Notes
Expected agent usage per PR~13% of 5H session window. This means about 7 PRs can be expected to be done per developer on a $20 Claude plan in a 5H session window. Note: review-pr skill does not implement requested changes. To consider if we want to add in the skill the instruction of implemented requested changes as well. Currently leaving it to developer to self prompt their coding agent to fix changes. |
Tests use real os.tmpdir() I/O — they are integration tests per TESTING_STANDARDS and must live in tests/integration/ so that npm run test:integration picks them up. Also adds a TODO comment to readProject() flagging the missing schema validation. Closes review blocker B1 and addresses warning W2 from docs/review-findings/2026-05-09-refactor-s1-project-file.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/config/project.tsas the typed foundation for the project-file layerProjectFileinterface coveringversion,episode,brandId,tools,params, andartifactsreadProject(cwd?)andwriteProject(project, cwd?)helpers backed by Node's built-infsmoduleProjectNotFoundErrorso callers can distinguish a missing project file from other I/O failuresWhy
The pipeline currently has no persistent project model — episode metadata, tool versions, and run parameters live only in CLI flags and are lost between runs. This module becomes the single source of truth that all later pipeline stages (artifact storage, DAG runner, parameter persistence) will import from.
Test plan
Automated
Issues
Closes #10