Add null, blank and example-specific UTF-16 length checks to the English and Japanese login snippets before AuthService. Preserve credential bytes, authentication-failure behavior and the existing successful-session flow. Label the 256/1024 limits as application examples rather than tinystruct defaults.
Compile and execute exact extracted methods against controlled request/auth/session stubs with ephemeral official checksum-verified Temurin17. Baseline: 8 pass,20 fail. Candidate:28 pass,0 fail. Tagged Request API and Java17 target verified. Markdownlint, Unicode and diff checks pass. Root independently reviewed both documents. No full HTTP host, real authentication service, cookie-policy or envelope changes claimed; registry rebound remains root-owned.
Correct the English and Japanese static-file guidance against tinystruct v1.7.37 commit 089ec19022f3bb5d87f1e83e30b2034b24f7e77f. The configured-root exclusion uses lexical normalized paths before symlink resolution, and matching static candidates return before the later project-root-file check. Recommend real dedicated public directories without claiming an upstream security repair.
Verified the exact tagged HttpServer blob 58ff6ae082f7569e73207c9cb4614f680c9d3de7 and eight disposable POSIX filesystem path controls. Java is unavailable, so no Java or HTTP runtime verification is claimed. Changed Markdownlint, Unicode safety and diff checks pass. Parent independently reviewed both documents and the source evidence. Registry rebinding remains with the combined integration.
Verify context fallback order against transcript-context and passing 55-case workflow suite. Ground CLI injection guidance in tinystruct v1.7.37 Action.getArguments, CommandLine and ApplicationManager at 089ec19022f3bb5d87f1e83e30b2034b24f7e77f. Markdown lint and Pi projection check pass; preserve explicit Pi exclusions.
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.
Preserve PR #3758 source head deec267f07. Correct the static-root policy against tagged upstream 089ec19022f3bb5d87f1e83e30b2034b24f7e77f: current directory and ancestors are rejected, while configured siblings are permitted. Independent EN/JA source review and Markdown lint passed.
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>
Translated skills in docs/ja-JP and docs/zh-CN link to rules/ and
references/ subfiles that only exist in the English skill, so those
links 404. Point them to the English originals under skills/.
Also fix the LICENSE badge links in docs/zh-CN and docs/zh-TW READMEs
and the scripts/hooks link in docs/ja-JP/hooks/README.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
examples/sessions was removed in d70bab85, so the link 404s.
Point it to the Session File Format section of commands/save-session.md
in the English guide and the es, ja-JP, tr and zh-CN translations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a GitHub issue counterpart to the PR mode of /code-review. The
canonical workflow lives in skills/issue-review and walks nine phases:
fetch the issue with gh, build project context, classify type and
completeness, verify the claim against the code at HEAD, search for
duplicates and prior fixes, assess severity and decision, write a
review artifact with a draft reply, publish only on explicit flags,
and print a one-screen summary.
Issue text is treated as untrusted data: embedded instructions are
never followed, pasted code is never run, and arbitrary links are not
fetched. Writing to GitHub is opt-in via --comment or --label and the
workflow never closes, reopens, or assigns issues.
commands/issue-review.md is the thin slash-command shim. The new
structural test guards the frontmatter, required sections, phase
order, safety invariants, and registration on every surface.
Register the skill and command in package.json, agent.yaml, the
operator-workflows install module, the quick reference, the
command-agent map, and the README; regenerate the command registry
and sync catalog counts to 312 skills and 98 commands.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Tomoya.Fujita <fujita.tomoya@triorb.co.jp>
The sync.Pool example returned buf.Bytes(). That slice points into the
pooled buffer. The deferred Reset and Put give the buffer to the next
Get, so another goroutine can overwrite the result while the caller
still uses it.
Return bytes.Clone(buf.Bytes()) instead, and add a short note. Same code
fix in the five translations. pi/core regenerated with
scripts/build-pi-core.js.
Tested: 64 goroutines calling the example under go test -race (Go 1.27).
Old code: DATA RACE and wrong results. New code: passes.
node scripts/build-pi-core.js --check passes.
Replaces the golang part of closed PRs #3351 and #3405, which were not
merged.
Limit the CLI-first testing guidance to transport-neutral and Mode.CLI actions
in How It Works, When to Use, Best Practices and Red Flags, since actions with
an HTTP mode are rejected from the CLI and must be tested over HTTP.
Also document how FileHandler resolves a relative pattern, what limit, count
and %g mean, the enable steps, and list its level, formatter and encoding
properties in the config example. The ja-JP translation is updated to match.
Fix the FileHandler description: pattern is optional and defaults to
%h/java%u.log, with the parent directory created if missing. Also document
logging.enabled, the accepted logging.level values and aliases, custom
Handler/Formatter classes, the logger-level versus handler-level gates, and
that the configuration is read once at startup. Add a Red Flags row for
debug messages that never appear. The ja-JP translation is updated to match.
Bump the pinned upstream version to 1.7.37 and document what changed in
the framework since 1.7.34:
- Logging: the 'handlers' property (default ConsoleHandler) and the
opt-in FileHandler with its pattern/limit/count/append options
(1.7.36).
- Static files: HttpServer now serves only server.static.dirs /
server.static.dir (default 'static') and rejects traversal, hidden
files and project-root files (1.7.37).
- Dual-mode wording: only Mode.DEFAULT actions are reachable from both
CLI and HTTP; actions bound to Mode.CLI or an HTTP method are rejected
from the other transport (ApplicationManager.call).
- Login example now checks credentials instead of storing a hard-coded
user id in the session.
- Red Flags rows for the new failure modes.
The ja-JP translation is updated to match. The frontmatter description
is unchanged.
flox/flox-agentic is archived; the Flox agent skills now live in
flox/flox-skills, which consolidates the former flox-services,
flox-builds, flox-containers, flox-sharing, and flox-cuda skills into
a single flox skill alongside floxify and flox-debug.
Update the Related Skills link and skill list in the English and
Japanese copies, and refresh the skill-triggers registry digest.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A claim write that times out can still land. When the guard fails
closed the handler never ran, so a late claim would make every retry
look like a replay of work that never happened; delete it once it
lands. Type the snippet so it passes tsc --strict against the real
packages, and close idle keep-alive sockets in the test on Node 18.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claim from the verified payload and matched requirements in the
resource server's onAfterVerify hook, so a forged header can no longer
reserve a legitimate payment's key, and an invalid payment takes no
claim. Fail closed on a store error or timeout by returning an abort
(a throwing hook is skipped and would run the handler unguarded);
document fail-open as an explicit, idempotent-only choice. Cover
Permit2 (BigInt nonce) and keep claims until validBefore/deadline.
The test now drives the real @x402/express middleware with payments
signed by the real @x402/evm client and a stand-in facilitator that
checks EIP-3009 signatures with viem, so verification, the hook, the
handler and settlement run in their real order. Adds exact-pinned,
test-only devDependencies and refreshes the registry digest.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The signer picks the EIP-3009 validBefore and verification does not cap
it at maxTimeoutSeconds, so a fixed 900 s TTL could drop the claim for
a still-valid authorization whose settlement failed, and a copy would
run the handler again. Expire claims at validBefore + 60 s (900 s
floor, one-year ceiling) with SET NX EXAT, using node-redis's current
option form. Also wrap messageBytes for createHash so the snippet
typechecks.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The claim timeout stops a request from waiting but does not cancel the
command, so a connected-but-silent Redis could accumulate abandoned SETs.
commandsQueueMaxLength bounds them; past the cap, claims reject at once
and the guard fails open. The test asserts the cap and counts unhandled
rejections in its summary.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Connect to Redis in the background with an error listener and the
offline queue disabled, so an unavailable store never blocks startup
or crashes the process; bound each claim with a 250 ms timeout.
- Include the asset in EVM claim keys (EIP-3009 nonces are per token).
- Cap the payment header at 16 KB before storing anything, and note that
the path needs the same rate limits as any unauthenticated write.
- State the TTL rule: longer than maxTimeoutSeconds plus the slowest
handler run.
- tests/ci/agent-payment-x402-seller-guard.test.js runs the guard block
from all three documents: concurrent copies, key equivalence (EVM
re-encoding, asset, Solana fee-payer slot), offline and hanging store,
oversized and missing headers.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
x402 middleware verifies, runs the handler, then settles. Verification
does not consume the authorization, so concurrent copies of one signed
payment each run the handler; only one settles. Document a claim-once
guard keyed on the EIP-3009 (from, nonce) or the SVM signed message,
with an atomic insert before the payment middleware, failing open.
Mirrored in ja-JP and zh-CN.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Integrate contributor PRs #3533, #3534, and #3535 on current main. Preserve the read-only module audit, canonical glossary and ADR ownership, and opt-in install closure. Refresh only the manual trigger manifest registry binding and coverage after adding the skill.
Sources: #3689#3691#3692#3693. Preserve Claude marketplace migration guidance, tool-result boundaries, scoped workflow authority, and bounded batch preparation. Regenerate the Pi projection and recompute the shared registry digest on one main head.
Port #3656 onto current main, preserving both the contributor fix and the unrelated current changelog entry. Includes the follow-up glob normalization from 2c11fd74.