You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,8 @@
3
3
Core idea: this package is a framework-agnostic LangGraph workflow that orchestrates mix analysis end-to-end. Keep all work inside well-typed modules; let hosts inject real services.
4
4
5
5
## Architecture snapshot
6
-
- Entry point is `runMixtapeLabsSession` (`src/index.ts`), which compiles the graph from `buildMixtapeLabsGraph` and invokes it with an `EngineState` derived from `RunSessionInput`.
7
-
- State schemas live in `src/state.ts` (Zod-validated). `src/types.ts` exposes `MixtapeLabsEngineDeps` and re-exports the schemas—never bypass them when changing shapes.
6
+
- Entry point is `runMixtapeSession` (`src/index.ts`), which compiles the graph from `buildMixtapeGraph` and invokes it with an `EngineState` derived from `RunSessionInput`.
7
+
- State schemas live in `src/state.ts` (Zod-validated). `src/types.ts` exposes `MixtapeEngineDeps` and re-exports the schemas—never bypass them when changing shapes.
8
8
- Graph nodes are declared in `src/graph/mixtapelabs-graph.ts` and exported as helper functions (`validateInputNode`, `metadataStepNode`, etc.). They depend solely on injected clients: metadata → analysis → feedback → finalize.
9
9
- Tool interfaces under `src/tools/` define the only allowed side-effect boundaries. They wrap user-provided clients via `create*Tool` helpers so validation happens before I/O.
10
10
- Prompt/LLM logic lives in `src/prompts/feedback-prompt.ts` and `src/config/llm.ts` (`OpenAIFeedbackClient`). That client requires `OPENAI_API_KEY`; never instantiate it without checking the env.
0 commit comments