Commit Graph
4003 Commits
Author SHA1 Message Date
Wen 95e6e4e735 docs(django-security): keep the CSRF cookie readable for the AJAX example
The AJAX example reads csrftoken from document.cookie, which fails when
CSRF_COOKIE_HTTPONLY is True. Drop the setting from the production
block (the default is False) and set it to False in the CSRF block, as
the .kiro copy already does there. Also remove SECURE_BROWSER_XSS_FILTER,
which Django 4.0 removed. Updated .kiro and regenerated pi/core.

Signed-off-by: Wen <jwcastillo@gmail.com>
(cherry picked from commit bdc4407edf)
2026-10-20 18:01:40 -04:00
Wen a492b08126 docs(perl-security): drop nonexistent perlcritic policies
Perl::Critic has no InputOutput::RequireThreeArgOpen or
Modules::RequireTaintChecking policy. perlcritic warns that they are
not installed and ignores them. Two-arg open is already covered by
InputOutput::ProhibitTwoArgOpen in the same profile. Regenerated pi/core.

Signed-off-by: Wen <jwcastillo@gmail.com>
(cherry picked from commit d70726d79c)
2026-10-20 18:01:40 -04:00
Wen 580acac926 docs(laravel-security): drop the undefined sanitize_html validation rule
sanitize_html is not a built-in Laravel rule and the skill never
registers it, so the validator throws BadMethodCallException. The same
FormRequest already strips tags in validated(). Regenerated pi/core.

Signed-off-by: Wen <jwcastillo@gmail.com>
(cherry picked from commit 453c0651f7)
2026-10-20 18:01:40 -04:00
Wen c5378bf456 docs(fastapi-patterns): import Depends in the router example
The users router uses Depends() for OAuth2PasswordRequestForm but the
import line omits it, so the module raises NameError on import.
Regenerated pi/core with scripts/build-pi-core.js.

Signed-off-by: Wen <jwcastillo@gmail.com>
(cherry picked from commit d383fb57e9)
2026-10-20 18:01:40 -04:00
haelyra 45a021ea11 test: remove extra trailing blank line from installer coverage 2026-10-20 17:41:33 -04:00
haelyra accdc30c07 ci: refresh registry digest for combined skill changes 2026-10-20 17:41:21 -04:00
Eneko Ruiz 1d20bed37f fix: treat optional-only specs as compliant
(cherry picked from commit ed6799f33c)
2026-10-20 17:41:10 -04:00
Eneko Ruiz e9176a14e3 test: annotate the legacy locale I/O wrapper
(cherry picked from commit c5704c128e)
2026-10-20 17:41:08 -04:00
Eneko Ruiz f78fe3287b test: enforce legacy locales for UTF-8 regressions
(cherry picked from commit b5fa7e7fcf)
2026-10-20 17:41:05 -04:00
Eneko Ruiz 429737572a fix: use UTF-8 throughout skill compliance workflows
RED: seven Unicode regressions reproduced under Windows cp1252 and Linux ASCII with UTF-8 mode disabled. GREEN: Windows 91 passed with 5 platform skips; Linux ASCII 96 passed. Nine offline Unicode cases cover file, temporary YAML, prompt and all four CLI capture boundaries without model calls. Changed functions have 84.7% line coverage, each exceeds 80%; all 13 changed IO sites execute. Pi/catalog parity checks pass.
(cherry picked from commit 642cb0d512)
2026-10-20 17:41:00 -04:00
Eneko Ruiz 99b6a9bb8f fix: reject lossy classifier tool-call indices
RED: 6 failures proved booleans and fractional indices could invent evidence. GREEN: 49 targeted tests; full skill-comply suites pass on Windows (88 passed, 5 platform skips) and Linux (93 passed). Parser coverage 100%; exact integer floats and numeric strings remain supported. Pi/catalog checks pass.
(cherry picked from commit 6dde588860)
2026-10-20 17:40:59 -04:00
Eneko Ruiz 7b7ec11b2a fix: preserve escaped instinct strings through serialization
RED: multiline/control serialization and newline decoding failed; C1/NEL cases exposed malformed or folded YAML. GREEN: 40 targeted tests and 126 complete Linux tests pass; quote/parser coverage 100%/97.4%. Unicode, Windows paths and legacy escapes survive round trips; Pi/catalog checks pass.
(cherry picked from commit 1b1119f409)
2026-10-20 17:40:59 -04:00
Eneko Ruiz 21e0ab5271 fix(session-aliases): reject array-shaped alias maps
(cherry picked from commit b1668579f6)
2026-10-20 17:40:59 -04:00
Eneko Ruiz 0bdb6a52ab fix: validate session alias titles before saving
(cherry picked from commit e4f9aac414)
2026-10-20 17:40:58 -04:00
Alan Vo 67034687f3 Fix CLAUDE_CONFIG_DIR tilde expansion, blank path fallback, and inline WSL resolver parity
(cherry picked from commit 617ab29f8d)
2026-10-20 17:40:58 -04:00
Alan Vo 5701a4f2e1 fix: respect CLAUDE_CONFIG_DIR with WSL Windows-path conversion
(cherry picked from commit aaacbc7592)
2026-10-20 17:40:58 -04:00
Eneko Ruiz f1c6692f99 fix: include the oldest dashboard window boundary
(cherry picked from commit e32d1a4e4d)
2026-10-20 17:40:58 -04:00
Eneko Ruiz 65f7dfb735 fix: reject missing session database and limit values
(cherry picked from commit 299899941d)
2026-10-20 17:40:57 -04:00
Eneko Ruiz 8f72869987 fix: reject negative execution counters
(cherry picked from commit fed9eebed5)
2026-10-20 17:40:57 -04:00
Eneko Ruiz 3ac640f6cc fix: sort missing inspection dates after pre-epoch timestamps
(cherry picked from commit 774dfd6894)
2026-10-20 17:40:57 -04:00
Eneko Ruiz c2a28b2963 fix: order failure pattern timestamps chronologically
(cherry picked from commit 075d55e9cb)
2026-10-20 17:40:57 -04:00
Eneko Ruiz 3a26147843 docs: repair Japanese guide image URLs
(cherry picked from commit 34574239f8)
2026-10-20 17:40:57 -04:00
Eneko Ruiz 014fcae682 docs: repair localized brand voice schema links
(cherry picked from commit fa932aa35e)
2026-10-20 17:40:57 -04:00
Eneko Ruiz 150348a57a docs: repair localized development workflow links
(cherry picked from commit 28289f5b41)
2026-10-20 17:40:56 -04:00
haelyra 0fe0585619 ci: refresh combined skill trigger registry digest 2026-10-20 17:38:53 -04:00
haelyra 14693070a1 fix: normalize apostrophes inside quoted Windows paths
(cherry picked from commit 8ab9358e18)
2026-10-20 17:38:38 -04:00
Eneko Ruiz c73353e2c7 fix: normalize Windows backup filename suffixes
(cherry picked from commit f685582ebe)
2026-10-20 17:38:38 -04:00
Eneko Ruiz 9388e06ec7 fix: preserve diagnostics after extensionless Windows paths
(cherry picked from commit 2a2e6e3848)
2026-10-20 17:38:38 -04:00
Eneko Ruiz 58b191c25d fix: normalize trailing Windows paths and spaced filenames
(cherry picked from commit c31b1dd80c)
2026-10-20 17:38:38 -04:00
Eneko Ruiz 0931f66775 fix: normalize Windows paths containing spaces and Unicode
(cherry picked from commit 25b775edc1)
2026-10-20 17:38:37 -04:00
Eneko Ruiz 9824f422d2 fix: normalize Windows file paths in failure patterns
(cherry picked from commit e0de4739a9)
2026-10-20 17:38:37 -04:00
haelyra acc24a226f test: align Antigravity guide check with pinned release
(cherry picked from commit da132808b4)
2026-10-20 17:38:26 -04:00
haelyra bf49b20a71 docs: pin Antigravity registry check to 2.2.3
(cherry picked from commit 8af603b814)
2026-10-20 17:38:26 -04:00
Uvais Bughari 94b0844e9c docs: also fix prose version reference flagged by CodeRabbit
Line 13 still said 'Verify that 2.2.0 is readable' after the install
command was updated to @2.2.3. Align prose with the pin to remove the
version mismatch within the Quick Start section.

(cherry picked from commit b0b955541f)
2026-10-20 17:38:26 -04:00
Uvais Bughari 07051ec5c7 docs: fix stale ecc-universal version pin in ANTIGRAVITY-GUIDE
The Quick Start section pinned ecc-universal@2.2.0 while every other
reference in the repo (README.md, and all other docs) uses @2.2.3.
This caused Antigravity users to install an outdated version.

Update the pin to @2.2.3 to match the rest of the codebase.

(cherry picked from commit a052b208e5)
2026-10-20 17:38:25 -04:00
arvindvishwakarma001 6a8e522fbb docs: add missing sections to CONTRIBUTING table of contents
(cherry picked from commit 1859fd79d0)
2026-10-20 17:38:25 -04:00
Gaurav Dubey e4666abb01 fix(opencode): ship @opencode-ai/plugin as a runtime dependency
The compiled OpenCode tools import `tool` from `@opencode-ai/plugin/tool`
at module top level, and the hooks plugin imports those tools statically.
The package was only a devDependency, so production installs (OpenCode's
npm plugin cache, `npm install --omit=dev`) could not resolve it and the
whole plugin failed to load.

Move it to `dependencies` and add a build-opencode regression test that
fails when the built bundle imports a package not declared as a runtime
dependency.

Fixes #3543

(cherry picked from commit 106024070e)
2026-10-20 17:38:25 -04:00
Eneko Ruiz 88871370c5 docs: preserve the Chinese command template code fence
(cherry picked from commit 8b4097e18e)
2026-10-20 17:38:25 -04:00
Eneko Ruiz 633aed12e2 docs: explain FastAPI async fixture lifespan management
(cherry picked from commit 26b0523875)
2026-10-20 17:38:22 -04:00
Eneko Ruiz 5aa13c7d33 docs: distinguish Flask and FastAPI testing fixtures
(cherry picked from commit 2353740d9e)
2026-10-20 17:38:22 -04:00
Eneko Ruiz 5367671a22 fix: reject missing session inspection option values
(cherry picked from commit a6619f5efd)
2026-10-20 17:38:13 -04:00
Eneko Ruiz 63cc08332d docs: use effort controls in adaptive-thinking workarounds
(cherry picked from commit b1523ea23f)
2026-10-20 17:38:06 -04:00
haelyra 2144e78761 ci: refresh skill trigger digest for remotion typo
(cherry picked from commit e7e07e7dbe)
2026-10-20 17:38:06 -04:00
edilman38-cyber b46a2ac58e docs(skills): fix Preferrably typo in remotion fonts rule
(cherry picked from commit 4a39c52dfb)
2026-10-20 17:38:06 -04:00
ethereal49 f7c6809bd7 fix(commands): address Santa Loop review feedback
(cherry picked from commit 3a0e3313d5)
2026-10-20 17:38:05 -04:00
ethereal49 4aa28ccac5 fix(commands): honor Codex model configuration in Santa Loop
(cherry picked from commit 2109d97b40)
2026-10-20 17:38:04 -04:00
Zhengyu Chenandhaelyra 90606c8315 docs: correct MODULE_NOT_FOUND plugin cache path (#3586)
* docs: correct MODULE_NOT_FOUND plugin cache path

Point the install command at cache/ecc/ecc/<version>.
The cache/ecc directory itself has no package.json.

* docs: explain the MODULE_NOT_FOUND version placeholder

Tell readers to replace <version> with the version from claude plugin list
before running the install command.

* docs: quote plugin cache version placeholder

---------

Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>
2026-10-20 17:28:23 -04:00
30b68924ae fix(install): treat .pi as a foreign platform path (#3560)
The platform-configs module lists `.pi`, but PLATFORM_SOURCE_PATH_OWNERS
had no entry for it, so isForeignPlatformPath() returned false and every
install-apply target (e.g. `--target opencode`) copied the Pi harness
adapter (.pi/README.md, .pi/extensions/*) into its config root and
recorded it as ECC-managed.

Pi consumes ECC through `pi install`, not install-apply, so map `.pi` to
the `pi` owner. No install target has that id, so the directory is now
filtered out everywhere, like `.codex`, `.cursor`, and `.zed`.

Add regression tests for the opencode plan and for every registered
target.

Fixes #3558

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>
2026-10-20 15:37:53 -04:00
Affaan Mustafa 07971588f8 ci: replace the 33-way test matrix with full and package-manager lanes
The test job ran the entire suite on 3 OSes x 3 Node lines x 4 package
managers, 33 full runs per push. Windows lanes took 28 to 39 minutes and
macOS 14 to 19, so one push queued about 1.5 hours of wall clock behind
runner concurrency, and timing-sensitive tests got 33 chances to flake.
The package-manager axis only ever changed one environment variable that
nine suites read.

Now there are 13 lanes. Five run the full suite: Linux on Node 18, 20
and 22, plus Windows and macOS on Node 22. Eight are package-manager
lanes on Node 22 that run only the suites which read
CLAUDE_CODE_PACKAGE_MANAGER or CLAUDE_PACKAGE_MANAGER; the file list is
grepped at run time so it cannot drift as tests are added. Full lanes
use the runner's 4-process pool on Linux and macOS; Windows stays serial
because its process spawn and temp-dir cleanup are the flaky part.
2026-10-20 10:47:58 -04:00
Affaan Mustafa 9471ef4724 test(runner): add a worker pool and an ECC_TEST_ONLY filter to run-all
The runner executed 422 files one process at a time, which is most of
the 12 to 40 minutes a CI lane spends in "Run tests". ECC_TEST_JOBS
above 1 now runs files through a pool of that many processes; output is
still buffered and printed per file, so logs read the same. The default
stays 1 and that path is the original synchronous spawnSync loop, so the
VM-driven runner test and the piped-output tests are unchanged.

ECC_TEST_ONLY is the mirror of ECC_TEST_SKIP: a comma-separated list of
path substrings, and only matching files run. CI uses it to give the
package-manager lanes just the suites that read the package-manager
variable instead of the whole suite.

Two real-process tests cover the pool (grouped output, counted failure,
summary last) and the ONLY filter.
2026-10-20 10:47:58 -04:00