diff --git a/.scheduler-memory/2026-02-17T16-35-41Z/retrieve.json b/.scheduler-memory/2026-02-17T16-35-41Z/retrieve.json new file mode 100644 index 0000000..db4f142 --- /dev/null +++ b/.scheduler-memory/2026-02-17T16-35-41Z/retrieve.json @@ -0,0 +1,18 @@ +{ + "cadence": "daily", + "operation": "retrieve", + "runId": "2026-02-17T16-35-41Z", + "servicePath": "src/services/memory/index.js#getRelevantMemories", + "inputs": { + "agentId": "todo-triage-agent", + "promptPath": "src/prompts/daily/todo-triage-agent.md", + "promptIntent": "Required startup + artifacts + memory + issue capture", + "query": "scheduler | daily | agent | todo-triage-agent | intent | Required startup + artifacts + memory + issue capture", + "events": 1 + }, + "outputs": { + "ingestedCount": 1, + "retrievedCount": 1 + }, + "status": "ok" +} \ No newline at end of file diff --git a/.scheduler-memory/2026-02-17T16-35-41Z/retrieve.ok b/.scheduler-memory/2026-02-17T16-35-41Z/retrieve.ok new file mode 100644 index 0000000..84b1719 --- /dev/null +++ b/.scheduler-memory/2026-02-17T16-35-41Z/retrieve.ok @@ -0,0 +1 @@ +MEMORY_RETRIEVED diff --git a/.scheduler-memory/2026-02-17T16-36-25Z/store.json b/.scheduler-memory/2026-02-17T16-36-25Z/store.json new file mode 100644 index 0000000..d85c768 --- /dev/null +++ b/.scheduler-memory/2026-02-17T16-36-25Z/store.json @@ -0,0 +1,20 @@ +{ + "cadence": "daily", + "operation": "store", + "runId": "2026-02-17T16-36-25Z", + "servicePath": "src/services/memory/index.js#ingestEvents", + "inputs": { + "agentId": "todo-triage-agent", + "promptPath": "src/prompts/daily/todo-triage-agent.md", + "promptIntent": "Required startup + artifacts + memory + issue capture", + "events": 1, + "sourceFile": "memory-updates/2026-02-17T16-36-25Z__todo-triage-agent.md" + }, + "outputs": { + "storedCount": 1, + "summaries": [ + "# Memory Update - 2026-02-17T16-36-25Z\n\nRun at 2026-02-17T16-36-25Z. Scanned codebase for TODO/FIXME/XXX. Found 0 actionable items. False positives in mktemp usage and documentation." + ] + }, + "status": "ok" +} \ No newline at end of file diff --git a/.scheduler-memory/2026-02-17T16-36-25Z/store.ok b/.scheduler-memory/2026-02-17T16-36-25Z/store.ok new file mode 100644 index 0000000..1e40bb6 --- /dev/null +++ b/.scheduler-memory/2026-02-17T16-36-25Z/store.ok @@ -0,0 +1 @@ +MEMORY_STORED diff --git a/.scheduler-memory/latest/daily/memories.md b/.scheduler-memory/latest/daily/memories.md index b6762ce..e63cc69 100644 --- a/.scheduler-memory/latest/daily/memories.md +++ b/.scheduler-memory/latest/daily/memories.md @@ -1 +1,2 @@ +- Memory retrieval seed for daily :: scheduler memory retrieval - Memory retrieval seed for daily :: scheduler memory retrieval \ No newline at end of file diff --git a/.scheduler-memory/memory-store.json b/.scheduler-memory/memory-store.json index e9c186e..dbd29e8 100644 --- a/.scheduler-memory/memory-store.json +++ b/.scheduler-memory/memory-store.json @@ -94,7 +94,7 @@ "importance": 0.4, "embedding_id": null, "created_at": 1771369913961, - "last_seen": 1771369913968, + "last_seen": 1771377118848, "source": "scheduler-retrieve", "ttl_days": null, "merged_into": null, @@ -117,7 +117,7 @@ "importance": 0.25, "embedding_id": null, "created_at": 1771370050385, - "last_seen": 1771370148086, + "last_seen": 1771385274968, "source": "ingest", "ttl_days": null, "merged_into": null, @@ -140,7 +140,7 @@ "importance": 0.25, "embedding_id": null, "created_at": 1771370084740, - "last_seen": 1771370148086, + "last_seen": 1771385274968, "source": "ingest", "ttl_days": null, "merged_into": null, @@ -163,7 +163,7 @@ "importance": 0.25, "embedding_id": null, "created_at": 1771370148079, - "last_seen": 1771370148086, + "last_seen": 1771385274968, "source": "ingest", "ttl_days": null, "merged_into": null, diff --git a/.scheduler-memory/session-mlrc78ft/retrieve.json b/.scheduler-memory/session-mlrc78ft/retrieve.json new file mode 100644 index 0000000..cbe2aeb --- /dev/null +++ b/.scheduler-memory/session-mlrc78ft/retrieve.json @@ -0,0 +1,18 @@ +{ + "cadence": "daily", + "operation": "retrieve", + "runId": "session-mlrc78ft", + "servicePath": "src/services/memory/index.js#getRelevantMemories", + "inputs": { + "agentId": "scheduler-memory-daily", + "promptPath": "", + "promptIntent": "scheduler memory retrieval", + "query": "scheduler | daily | agent | scheduler-memory-daily | intent | scheduler memory retrieval", + "events": 1 + }, + "outputs": { + "ingestedCount": 1, + "retrievedCount": 2 + }, + "status": "ok" +} \ No newline at end of file diff --git a/.scheduler-memory/session-mlrc78ft/retrieve.ok b/.scheduler-memory/session-mlrc78ft/retrieve.ok new file mode 100644 index 0000000..84b1719 --- /dev/null +++ b/.scheduler-memory/session-mlrc78ft/retrieve.ok @@ -0,0 +1 @@ +MEMORY_RETRIEVED diff --git a/.scheduler-memory/session-mlrc8az1/store.json b/.scheduler-memory/session-mlrc8az1/store.json new file mode 100644 index 0000000..15dce7d --- /dev/null +++ b/.scheduler-memory/session-mlrc8az1/store.json @@ -0,0 +1,20 @@ +{ + "cadence": "weekly", + "operation": "store", + "runId": "session-mlrc8az1", + "servicePath": "src/services/memory/index.js#ingestEvents", + "inputs": { + "agentId": "scheduler-memory-weekly", + "promptPath": "", + "promptIntent": "scheduler memory store", + "events": 2, + "sourceFile": "fallback" + }, + "outputs": { + "storedCount": 1, + "summaries": [ + "Store memory event A for weekly :: scheduler memory store Store memory event B for weekly :: scheduler memory store" + ] + }, + "status": "ok" +} \ No newline at end of file diff --git a/.scheduler-memory/session-mlrc8az1/store.ok b/.scheduler-memory/session-mlrc8az1/store.ok new file mode 100644 index 0000000..1e40bb6 --- /dev/null +++ b/.scheduler-memory/session-mlrc8az1/store.ok @@ -0,0 +1 @@ +MEMORY_STORED diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index be798d5..b1bfffd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,70 +1,59 @@ -# CONTRIBUTING.md — Generic Collaboration Guide +# Contributing to TORCH -This repository is designed for human and AI contributors. Keep contributions small, clear, and verifiable. +Thank you for your interest in contributing to TORCH! -## Contribution principles +## Prerequisites -- Prefer focused pull requests. -- Avoid unrelated refactors. -- Preserve existing behavior unless a change is explicitly requested. -- Document assumptions and tradeoffs. +- Node.js (v22+) +- npm -## Development Commands +## Setup -- **Install**: `npm install` -- **Test**: `npm test` -- **Lint**: `npm run lint` -- **Build**: `npm run build` +1. Clone the repository. +2. Install dependencies: -## Standard contribution flow + ```bash + npm install + ``` -1. Sync your branch with the target base branch. -2. Read baseline guidance: - - `AGENTS.md` - - `CLAUDE.md` - - `KNOWN_ISSUES.md` -3. Implement minimal changes required to solve the task. -4. Run relevant validation checks. -5. Update documentation if behavior or workflow changed. -6. Commit with a clear message. -7. Open a PR with complete context. +## Development Workflow -## Commit expectations +### Building -- Keep commits atomic and descriptive. -- Use imperative commit subjects. -- Separate mechanical renames from behavioral changes when possible. +This project requires a build step for certain artifacts (e.g., distribution files, dashboard assets). -## Pull request expectations +```bash +npm run build +``` -Each PR should include: +### Testing -- **Summary**: what changed. -- **Why**: motivation/problem solved. -- **Files modified**: key files touched. -- **Validation**: exact commands run and outcomes. -- **Risks / rollback**: known risks and how to revert. +Run the test suite to ensure your changes don't break existing functionality. -## Validation expectations +```bash +npm test +``` -- Run checks most relevant to changed files (tests, lint, typecheck, build, scripts). -- If a check cannot run, include: - - command attempted, - - reason it failed or was unavailable, - - fallback verification performed. +For faster feedback loop on unit tests (excluding integration): -## Documentation and handoffs +```bash +npm run test:unit:lock-backend +``` -When your work creates reusable knowledge: +### Linting -- Add/update `docs/agent-handoffs/learnings/` for successful patterns. -- Add/update `docs/agent-handoffs/incidents/` for failure modes and mitigations. -- Add/update `KNOWN_ISSUES.md` for active unresolved issues. +Ensure your code follows the project's style guidelines. -Use filename format: `YYYY-MM-DD-short-topic.md`. +```bash +npm run lint +``` -## Security and privacy +## Pull Requests -- Never commit credentials, tokens, secrets, or personal data. -- Redact sensitive values in logs and examples. -- Prefer synthetic or anonymized examples in documentation. +Please follow the repository conventions for Pull Requests. + +> **Note:** Detailed agent policies and conventions are normally documented in `AGENTS.md`. If this file is missing, please refer to existing patterns in the codebase or open an issue for clarification. + +## Reporting Issues + +If you encounter any bugs or have feature requests, please open an issue on GitHub. diff --git a/README.md b/README.md index b712e48..15ac871 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,18 @@ npm install https://github.com/PR0M3TH3AN/TORCH/archive/refs/heads/main.tar.gz > TORCH is distributed from GitHub tarballs and is not currently published to the npm registry. +## Development + +For instructions on how to contribute to TORCH, including building, testing, and linting, please see [CONTRIBUTING.md](CONTRIBUTING.md). + +Quick start: + +```bash +npm install +npm run build +npm test +``` + ## Usage ### CLI diff --git a/artifacts/todo_issues.md b/artifacts/todo_issues.md new file mode 100644 index 0000000..247b9b3 --- /dev/null +++ b/artifacts/todo_issues.md @@ -0,0 +1,4 @@ +# TODO Issues Report - 2026-02-17T16-36-25Z + +No actionable TODOs found in the codebase (src/, docs/, bin/, scripts/) as of 2026-02-17T16-36-25Z. +Matches found were false positives (mktemp XXXXXX templates or documentation). diff --git a/artifacts/todos.txt b/artifacts/todos.txt index 346f0da..94581e1 100644 --- a/artifacts/todos.txt +++ b/artifacts/todos.txt @@ -1,3 +1,74 @@ +src/test_logs/TEST_LOG_2026-02-15T23-20-19Z.md:11:- Result: Created CONTEXT, TODO, DECISIONS, TEST_LOG files. +src/test_logs/TEST_LOG_2026-02-15T18-00-00Z.md:10:- Command: Scan for TODOs +src/test_logs/TEST_LOG_2026-02-15T18-00-00Z.md:11: `git grep -n -E "TODO|FIXME|XXX" -- '*.js' '*.mjs' 'docs/*' | sed -n '1,200p' > artifacts/todos.txt` +src/context/CONTEXT_2026-02-15T18-00-00Z.md:11:Scan the repository for TODO/FIXME/XXX markers and triage them. +src/decisions/DECISIONS_2026-02-15T18-00-00Z.md:11:No actionable TODOs were found in the codebase. The scan returned only documentation references and test data. +src/decisions/DECISIONS_2026-02-15T18-00-00Z.md:14:The goal is to triage *actionable* TODOs. Since none exist, no changes or issues are required. +src/todo/TODO_manual-jules-1771293773.md:1:# TODO for Scheduler Update Agent +src/todo/TODO_2026-02-14T13-30-00Z.md:1:# Decomposition TODO +src/todo/TODO_2026-02-14T06-04-19Z.md:1:# Audit Run TODO +src/todo/2026-02-13-dom-migration-todo.md:1:# TODO — Rendering Migration (Example) +src/todo/TODO_2026-02-17T02-04-31Z.md:1:# TODO for Scheduler Update Agent +src/todo/TODO_2026-02-17T02-04-05Z.md:1:# TODO for Scheduler Update Agent +src/todo/TODO_2026-02-15T01-22-33Z.md:1:# TODO for Perf Agent Run 2026-02-15T01-22-33Z +src/todo/TODO_2026-02-15T18-00-00Z.md:14:- Scan repository for TODOs. +src/todo/TODO_2026-02-16.md:1:# TODO: perf-agent (2026-02-16) +src/todo/TODO_2026-02-14.md:1:# TODO Checklist +src/todo/TODO_2026-02-15T01:03:31Z.md:8:# TODO Update - 2026-02-15T01:03:31Z +src/todo/TODO_2026-02-14T23-00-00Z.md:1:# TODO: dashboard/index.html innerHTML Migration +src/prompts/scheduler-flow.md:11:- `src/todo/TODO_.md` +src/prompts/daily/decompose-agent.md:32:- `src/todo/TODO_.md` — checklist of extraction items (2–3 blocks) and status. +src/prompts/daily/decompose-agent.md:75:Add these items to `src/todo/TODO_.md`. +src/prompts/daily/decompose-agent.md:266:4. Read file, identify 2–3 cohesive blocks, document in `src/context/CONTEXT_.md` and `src/todo/TODO_.md`. +src/prompts/daily/const-refactor-agent.md:40:- `src/todo/TODO_.md` — List of duplicated constants to canonicalize and status for each. +src/prompts/daily/audit-agent.md:29:- `src/todo/TODO_.md` — checklist for the audit run and follow-ups. +src/prompts/daily/audit-agent.md:121: - If automated, add a follow-up task in `src/todo/TODO_.md` or open issues for high-priority items with labels `perf`, `lint`, or `security` as appropriate. +src/prompts/daily/scheduler-update-agent.md:89: - `src/todo/TODO_.md` +src/prompts/daily/perf-agent.md:50:- `src/todo/TODO_.md` — tasks (Done / Blocked). +src/prompts/daily/innerhtml-migration-agent.md:31:- `src/todo/TODO_.md` — checklist of assignments in the file and status. +src/prompts/daily/innerhtml-migration-agent.md:66: Add this list to `src/todo/TODO_.md` as items to migrate. +src/prompts/daily/docs-code-investigator.md:22: - Focus on files > ~200 LOC, or files that contain `TODO|FIXME|XXX`. +src/prompts/daily/docs-code-investigator.md:23:- Priority: files containing `TODO|FIXME|XXX` or >200 lines. shared helpers and core modules are high-value places to document. +src/prompts/daily/docs-code-investigator.md:39:git grep -n -E "TODO|FIXME|XXX" -- . | sed -n '1,200p' +src/prompts/daily/docs-code-investigator.md:42:- Is large (> 200 LOC) or contains `TODO` / `FIXME` / `XXX`. +src/prompts/daily/docs-code-investigator.md:80:- Note unreachable code, TODOs, or suspicious `try/catch` with swallowing errors. +src/prompts/daily/docs-code-investigator.md:206:git grep -n -E "TODO|FIXME|XXX" -- . | sed -n '1,200p' +src/prompts/daily/todo-triage-agent.md:13:Mission: keep the codebase’s TODO/FIXME backlog actionable by scanning for TODO-style comments, classifying them by effort/risk, and either (a) fixing **trivial, safe** items via small PRs or (b) converting non-trivial or sensitive items into well-formed GitHub issues. Every change must be small, safe, traceable, and reviewable. +src/prompts/daily/todo-triage-agent.md:29: - Scanning the repo for TODO/FIXME/XXX markers in source/docs. +src/prompts/daily/todo-triage-agent.md:36: - Refactors or feature work disguised as “TODO fixes”. +src/prompts/daily/todo-triage-agent.md:40: - Deleting TODOs without resolving the underlying need. +src/prompts/daily/todo-triage-agent.md:45:1. Visibility — Produce a current TODO inventory file each run. +src/prompts/daily/todo-triage-agent.md:46:2. Safety — No risky areas are modified; sensitive TODOs become issues. +src/prompts/daily/todo-triage-agent.md:50:5. Minimal disruption — Avoid churn; don’t reformat files just to touch TODOs. +src/prompts/daily/todo-triage-agent.md:58:- No security-sensitive fixes. If the TODO mentions (or touches) cryptography, +src/prompts/daily/todo-triage-agent.md:61:- No mission drift. Do not expand TODO triage into general cleanup/refactors. +src/prompts/daily/todo-triage-agent.md:62:- One logical change per commit; don’t bundle unrelated TODOs in one PR unless +src/prompts/daily/todo-triage-agent.md:68:P0 Security/safety TODOs → issue only, label clearly. +src/prompts/daily/todo-triage-agent.md:69:P1 Trivial correctness/docs TODOs → small PR if safe and < 1 hour. +src/prompts/daily/todo-triage-agent.md:70:P2 Medium/large engineering TODOs → issue with next-step recommendation. +src/prompts/daily/todo-triage-agent.md:71:P3 Cosmetic/low-value TODOs → issue or leave (don’t churn) unless policy +src/prompts/daily/todo-triage-agent.md:89: `git grep -n -E "TODO|FIXME|XXX" -- '*.js' '*.html' 'docs/*' \ +src/prompts/daily/todo-triage-agent.md:95: For each TODO/FIXME/XXX entry: +src/prompts/daily/todo-triage-agent.md:97: - file, line number, exact TODO first line +src/prompts/daily/todo-triage-agent.md:130:2) Implement the smallest change that resolves the TODO. +src/prompts/daily/todo-triage-agent.md:135: - `fix(ai): (TODO)` +src/prompts/daily/todo-triage-agent.md:136: - `chore(ai): (TODO)` for docs-only changes +src/prompts/daily/todo-triage-agent.md:138: - Summary of the TODO and what changed +src/prompts/daily/todo-triage-agent.md:144:- `fix(ai): (TODO)` +src/prompts/daily/todo-triage-agent.md:152:- any sensitive/security-related TODOs +src/prompts/daily/todo-triage-agent.md:155:- `todo: ` +src/prompts/daily/todo-triage-agent.md:160:- What you believe the TODO intends +src/prompts/daily/todo-triage-agent.md:170:DE-DUPING & STALE TODOs +src/prompts/daily/todo-triage-agent.md:172:- If multiple TODOs refer to the same underlying problem, consolidate into one +src/prompts/daily/todo-triage-agent.md:174:- Do not delete TODOs as “stale” unless you can prove the need is resolved. +src/prompts/daily/todo-triage-agent.md:195:- 0–N small PRs for trivial, safe TODOs +src/prompts/daily/todo-triage-agent.md:196:- 0–N GitHub issues for medium/large/sensitive TODOs +src/prompts/daily/content-audit-agent.md:43:- `src/todo/TODO_.md` — checklist of pages and claims to verify, with statuses. +src/prompts/daily/deps-security-agent.md:44:- `src/todo/TODO_.md` — upgrade tasks and statuses. +src/prompts/daily/test-audit-agent.md:42:- `src/todo/TODO_.md` — checklist of specific tests/issues to investigate/fix. +src/prompts/daily/test-audit-agent.md:164: 1. **Test-fix PR** — add missing assertions, replace `setTimeout` sleeps with `waitFor`, or mock timers. Include `src/context/CONTEXT_.md`, `src/todo/TODO_.md`, `src/test_logs/TEST_LOG_.md`. +docs/agent-handoffs/incidents/goose-hermit-etxtbsy-fix.patch:70:+ HERMIT_TMP=$(mktemp ~/.config/goose/mcp-hermit/bin/.hermit-download.XXXXXX) +docs/agent-handoffs/incidents/goose-hermit-etxtbsy-fix.patch:91:+ HERMIT_INIT_COPY=$(mktemp /tmp/.hermit-init-copy.XXXXXX) +docs/agent-handoffs/incidents/2026-02-15-hermit-text-file-busy.md:48:HERMIT_TMP=$(mktemp ~/.config/goose/mcp-hermit/bin/.hermit-download.XXXXXX) +docs/agent-handoffs/incidents/2026-02-15-hermit-text-file-busy.md:57:HERMIT_INIT_COPY=$(mktemp /tmp/.hermit-init-copy.XXXXXX) docs/proposals/prompt-packages.md:26: * `todo-triage-agent`: Manage TODOs. -scripts/agent/verify-run-artifacts.mjs:15: expectedPrefix: 'TODO_', -test/verify-run-artifacts.test.mjs:46: await fs.writeFile(path.join(root, 'src', 'todo', 'TODO_1.md'), `${metadata}\n\nPending tasks:\n- finish checks\n`, 'utf8'); diff --git a/landing/index.html b/landing/index.html index 62ded99..cd2daaa 100644 --- a/landing/index.html +++ b/landing/index.html @@ -620,7 +620,7 @@
-

Choose Your Agent

+

Choose Your Agent

-
-

Running Offline or Air-Gapped?

-

Download the standalone bundle and install it directly without registry access.

+
+

Running Offline or Air-Gapped?

+

Download the standalone bundle and install it directly without registry access.

-
+ @@ -675,7 +675,7 @@ npm install https://github.com/PR0M3TH3AN/TORCH/archive/refs/heads/main.tar.gz & Download Bundle -
+
npm install ./{{OFFLINE_BUNDLE_FILENAME}}