Commit Graph
2013 Commits
Author SHA1 Message Date
Quinn O'Donnell 00a8fe96f8 fix(hooks): skip stdin listeners on require and match exact tsc paths in post-edit-typecheck
config-protection.js and post-edit-typecheck.js attached process.stdin
listeners at module scope. tests/hooks/hook-input.test.js requires
config-protection.js, so that test never exits while stdin stays open.
Attach the listeners only when the script runs directly
(require.main === module), as stop-format-typecheck.js and quality-gate.js
already do.

post-edit-typecheck.js picked tsc diagnostics with line.includes(candidate),
so editing a root index.ts reported the errors of src/index.ts, and a
Windows relative path (src\index.ts) never matched tsc's forward-slash
output. Compare the file at the start of each diagnostic instead, the same
check diagnosticMatchesFile() does in stop-format-typecheck.js.

Refs #3821
2026-10-30 12:29:32 -04:00
haelyra 35769d00d9 fix(context): validate budgets and remind before native compaction
Reject numeric prefixes, fractions and unsafe window integers consistently with summary scheduling while preserving resolver precedence. Cap only the default context reminder at eighty percent of a valid earlier native compaction budget; explicit thresholds, including zero, retain their intentional policy. Document the independent capacity, summary and advisory contracts.

RED controls reproduce malformed-budget summary triggers and the known-1M/native-200k missed reminder. Resolver65, helper47, actualStop18 and actualPreToolUse54 pass on Node18 and24. Parent and independent reviewer approved the exact diff before commit. Registry rebinding remains the integration coordinator responsibility after combining documentation repairs.
2026-10-29 19:42:27 -07:00
haelyra 1739020dba test: preserve exact monitor assertions with actionable diagnostics 2026-10-29 19:15:56 -07:00
haelyra 05bc52ae83 test(insaits): report captured monitor failure diagnostics
Include captured stderr, status, signal and spawn error message when the existing unexpected-monitor-failure warning assertions fail. Preserve all status/raw-input/warning assertions, deadlines and product bytes.

The macOS hosted failure did not print its actual stderr, so its transient cause remains unverified. The unchanged source matches green main; 24 prior local diagnostic repeats passed 120 checks. This diagnostic-only patch passes all five fixture cases, affected ESLint and diff checks. Parent independently reviewed the diff. Fresh exact-head hosted CI remains required.
2026-10-29 19:15:02 -07:00
haelyra eb267762a1 test(x402): reject a provably invalid ECDSA scalar
Zero the 32-byte r scalar while preserving the signature encoding, length, s and recovery byte. The previous tail overwrite could leave r/s unchanged and normalize recovery 27 to 0, preserving a valid payment. Keep and strengthen no-claim/no-handler/no-settlement checks before serving the original valid payment.
2026-10-29 19:14:07 -07:00
haelyra 3dca6e2e88 fix(hooks): preserve provider conversation identity under inherited environments
Restore the shipped payload-first contract from #3464/#3495 and the explicit source #3755 scope clarification. Two provider conversations must retain distinct IDs despite an inherited registered ECC parent ID. Normal and ambient producer24 tests, canonical resolver10 and independent differential review pass. Keep native importer guards; explicit provider/native correlation is queued separately.
2026-10-29 18:57:29 -07:00
haelyra d1eba24d5f fix(hooks): attribute native activity to the registered ECC session 2026-10-29 17:44:10 -07:00
haelyra 96996a13c7 docs: separate summary budgets from context capacity guidance
Clarify native compaction budget scheduling independently of the model window resolver and retain immutable transcript fixtures. Helper43, ten independent scheduling controls, affected lint and independent review passed.
2026-10-29 17:43:59 -07:00
haelyra 6cd41995f4 fix(hooks): attribute native activity to the registered ECC session
Verify review discussion4419348312 against actual native producer/importer behavior. Prefer the independently sanitized ECC_SESSION_ID for the ECC-owned metrics feed, retain payload then legacy fallback for standalone hooks, and leave sibling hooks unchanged.

Actual Node producer plus read-only cached native binary reproduces zero imported metrics before the fix and exactly one tool/file/log after repeated sessions/status commands. Four producer regression controls and normal/adversarial inherited-env suites pass22/22. Focused coverage96.47percent lines and91.47percent branches; parent independent source review passed.
2026-10-29 17:43:55 -07:00
haelyra b37942d3c1 fix(summary): preserve work before the earlier compaction boundary
Separate confirmed model capacity from Stop-summary scheduling. Use the smaller confirmed capacity/native budget, or native-only budget for inferred capacity. Three unit and one actual hook RED cases now pass; helper43, actualStop15 and ten independent controls pass without changing the capacity resolver.
2026-10-29 17:37:52 -07:00
haelyra 54464e0b78 fix(skills): harden reviewed TypeScript assertions and request IDs 2026-10-29 17:27:56 -07:00
haelyra fc549b6372 fix: preserve Windows rule examples and conservative summary budgets
Address #3809 review regressions for CRLF code fences and inferred context capacity. Reproduced unit and actual Stop-hook failures; verified llm-summary38, Stop14, Copilot37 and independent code/security review. Keep confirmed model/ECC context authority, native budget scheduling and unknown capacity separate.
2026-10-29 17:27:56 -07:00
haelyra 6b8c757e54 fix(skills): validate TypeScript example arrays and request identifiers
Verify and address PR #3809 discussions 4419228221, 4419257840 and 4419257844. Iterate string-array assertions through sparse positions, validate the declared example identifier grammar before request construction, and refresh Turkish/Chinese reviewer references. Regenerate the canonical Pi copy.

Compile and execute the actual typed fixture; keep published validation bodies aligned and prove invalid identifiers never call fetch. RED: 28 pass, 2 fail. GREEN: 30 pass, 0 fail. Strict tsc, changed ESLint/Markdownlint, Unicode/agent/skill validators and deterministic Pi checks pass. Parent independently reviewed all six paths. Registry rebinding is deferred to the combined integration.
2026-10-29 17:25:42 -07:00
haelyra a43dd3501a feat(skills): integrate validated TypeScript patterns and distribution 2026-10-29 17:03:52 -07:00
haelyra 2cdc157205 fix(hooks): integrate reviewed shell quoting and context precedence repairs 2026-10-29 17:03:51 -07:00
haelyraandAbhiramMandala f29e33271b feat(skills): port reviewed TypeScript patterns onto current catalog
Carry forward AbhiramMandala’s canonical TypeScript guidance from PR #3142, reviewed source head 643f61d604. Rebuild current-main counts, Pi projection and trigger digest without replacing existing registry entries.

Use bracket access under the documented noPropertyAccessFromIndexSignature baseline. Type-check and execute the actual fixture, compare published function bodies, and preserve deterministic undefined, sparse-array and concurrency regressions.

Validation: 26 focused checks; strict TypeScript compile; all repository validators; affected ESLint and Markdownlint; deterministic Pi rebuild; real npm pack; disposable Claude, Codex and Copilot install/repair/uninstall with exact skill bytes and preserved user files. Parent independently reviewed the complete staged diff.

Co-authored-by: AbhiramMandala <abhirammandala02@gmail.com>
2026-10-29 17:02:32 -07:00
haelyra 0036875f86 feat(install): integrate namespaced Copilot rule instructions
Preserve contributor PR #3771 head 4114945775. Repair single-file language namespaces and preserve fenced Markdown examples. Verified 36 adapter/lifecycle and 5 support-surface tests; independent code and security review passed.
2026-10-29 17:02:31 -07:00
haelyra ee21d8da5c fix(hooks): preserve context-window evidence over compact trigger (#3760) 2026-10-29 17:01:04 -07:00
haelyra 5e062a3b3b fix(hooks): integrate reviewed shell quote extraction fix (#3801) 2026-10-29 17:00:10 -07:00
haelyra 61472d54c0 test: disable background maintenance in isolated Git fixtures 2026-10-29 15:22:45 -07:00
haelyra 07e1e4c606 fix: keep issue text literal in review commands and atomically create fixtures 2026-10-29 15:00:21 -07:00
haelyra 47d035ef7c fix: isolate issue evidence fixtures and preserve review authority boundaries 2026-10-29 14:37:28 -07:00
haelyra 716de494a1 fix: bind issue evidence to a verified immutable target revision 2026-10-29 13:59:01 -07:00
haelyra de8c290057 fix: keep Copilot detector explanation aligned with installed workflow 2026-10-29 13:09:04 -07:00
haelyra f7c4357e1c test: separate legacy realpath fallback from native Windows alias behavior 2026-10-29 13:00:53 -07:00
haelyra 6d7d4920c8 fix: close final integration security and portability gaps 2026-10-29 12:57:39 -07:00
haelyra 26507d9acd test: isolate transcript fixtures in an exclusive temporary directory 2026-10-29 12:08:17 -07:00
haelyra 1eadb741a5 fix: scope Copilot detector projection to the canonical TDD workflow 2026-10-29 11:59:19 -07:00
haelyra 0d92059410 fix: close installed workflow and review publication gaps before integration 2026-10-29 11:58:01 -07:00
leoca eb9a5ca0c6 fix(hooks): keep $'...' open across an escaped apostrophe
Dropping the previous-character check in toggleQuote let the `'` of `\'` close an ANSI-C `$'...'` string, so `echo $'it\'s'; (rm -rf /tmp/x)` left a quote open and the group was never extracted. Track `$'...'` in the quote state and consume backslash escapes inside it, as bash does, and cover the inner scanners (`(...)`, `$(...)`, `{ ...; }` bodies) with quotes ending in a backslash.
2026-10-29 18:44:54 +00:00
haelyra 44e508922a fix: integrate x402 replay guard with bounded retention and audited test dependencies 2026-10-29 11:42:39 -07:00
haelyra 54f137e7a4 maint: integrate reviewed contribution #3790 2026-10-29 11:35:58 -07:00
haelyra 60053622fe maint: integrate reviewed contribution #3791 2026-10-29 11:34:19 -07:00
haelyra a98821fff9 maint: integrate reviewed contribution #3779 2026-10-29 11:34:15 -07:00
haelyra 2ecb5fcc04 maint: integrate reviewed contribution #3752 2026-10-29 11:30:40 -07:00
haelyra ac736a7b8c maint: integrate reviewed contribution #3751 2026-10-29 11:30:27 -07:00
haelyra 7d052a7958 maint: integrate reviewed contribution #3750 2026-10-29 11:29:21 -07:00
haelyra 8616566726 maint: integrate reviewed contribution #3749 2026-10-29 11:28:27 -07:00
haelyra 41d4dd64c1 maint: integrate reviewed contribution #3579 2026-10-29 11:28:23 -07:00
haelyra 0cfce78d35 maint: integrate reviewed contribution #3568 2026-10-29 11:28:21 -07:00
haelyra 7acdf21516 maint: integrate reviewed contribution #3804 2026-10-29 11:27:57 -07:00
haelyra 6fa858fbdf maint: integrate reviewed contribution #3803 2026-10-29 11:27:56 -07:00
haelyra 023acf21d0 maint: integrate reviewed contribution #3794 2026-10-29 11:27:56 -07:00
haelyra 14ba1e211f maint: integrate reviewed contribution #3777 2026-10-29 11:27:40 -07:00
haelyra 291635f7f9 maint: integrate reviewed contribution #3776 2026-10-29 11:27:01 -07:00
haelyra ff9095f6f7 maint: integrate reviewed contribution #3775 2026-10-29 11:26:59 -07:00
haelyra 8fc06b13cb maint: integrate reviewed contribution #3562 2026-10-29 11:26:56 -07:00
haelyra 124887fd3b maint: integrate reviewed contribution #3748 2026-10-29 11:26:55 -07:00
haelyra 3f3b88a725 maint: integrate reviewed contribution #3550 2026-10-29 11:25:31 -07:00
haelyra 65d83f9290 maint: integrate reviewed contribution #3669 2026-10-29 11:25:30 -07:00