Commit Graph
850 Commits
Author SHA1 Message Date
haelyra 43febb9ada fix: preserve opt-in GateGuard contract questions from PR 3497 2026-10-11 02:00:27 -04:00
haelyra 54925308d7 feat(skills): integrate collision-safe story lifecycle from PR 2311
Preserve full contributor history and current catalog. Actual process workflows cover concurrency, recovery, sprint planning and read-only status. Bound registry symlinks, counts and lock waits; preserve manually curated trigger provenance.
2026-10-11 01:59:36 -04:00
haelyra 5ad9cb931b fix: harden container OAuth callback relay lifecycle 2026-10-11 01:58:37 -04:00
montjeffrey f7f47679b6 fix(gateguard): make the external-contract question opt-in
- questionIdsFor and condensedHintFor take an optional
  { externalContract: true }; without it a code change that handles data
  asks data-schema only, and an unknown profile gets the original four
  questions and condensed hint.
- The hook reads GATEGUARD_EXTERNAL_CONTRACT_QUESTION with the same
  spellings as GATEGUARD_METRICS and passes it to the full denial, the
  condensed denial and the metrics record, so all three agree.
- The effectiveness harness's arm patch forwards the option, so an arm
  never drops it silently.

Docs: change-profile.md gains an External-contract question section and
qualifies "byte-identical to the fixed four questions"; design-notes.md,
SKILL.md (switch table, data rule, word-for-word set) and CHANGELOG say
the fifth question is opt-in; question-effectiveness.md and the harness
README note that the runner clears GATEGUARD_* variables, so a gate arm
from a current tree measures the gate without the question.
skill-triggers@1.json: registryDigest refreshed for the SKILL.md body
change; the description and triggers are unchanged.
2026-10-11 00:45:01 -04:00
montjeffrey 329ca4e11a docs(gateguard): document type filters, path patterns and lookups
- design-notes.md: new Type filters and Path patterns sections; Search
  scope extends the search-of-the-target rule to name lookups; Flag
  parsing lists the new value flags.
- change-profile.md: Unicode line terminators make an edit non-trivial.
- skills/gateguard/SKILL.md and CHANGELOG.md describe the same rules.
- skill-triggers@1.json: refresh registryDigest for the SKILL.md body
  change. The skill's description is unchanged, so triggers and
  triggersDigest are untouched, as in the plan-orchestrate refresh.
2026-10-10 23:38:48 -04:00
haelyra be230bd85c feat: integrate reviewed adapters, conversion and GateGuard improvements 2026-10-10 17:53:23 -04:00
haelyra 3b24eca2e6 feat(dsh): integrate version-scoped hook setup and distribution wiring 2026-10-10 17:49:37 -04:00
haelyra a3e9ddfde7 feat(gateguard): integrate evidence-aware first-touch questions 2026-10-10 17:46:23 -04:00
haelyra 9d09febe5d fix(skills): scope host compatibility to target projections 2026-10-10 17:44:28 -04:00
haelyra 37752df9e0 Merge PR #3466: add authorized gateway smoke workflow with failure cleanup 2026-10-10 17:39:24 -04:00
haelyra e53dd0ea05 Merge PR #3447: add bounded brownfield audit with project-owned decisions 2026-10-10 17:38:52 -04:00
haelyra a4bf7a45ca fix(sanitizer): integrate unreadable audit with portable filename quoting 2026-10-10 17:36:33 -04:00
haelyra a003286e10 Merge PR #3455: preserve verification gate failure status without SIGPIPE 2026-10-10 17:36:32 -04:00
haelyra b79346d16b feat(frontend): integrate rendered evidence contract from PR 2814 2026-10-10 17:35:32 -04:00
Matt Van Horn e128f4398b Merge branch 'main' into cursor/skill-host-compat-ci-10d0 2026-10-10 07:09:43 -07:00
Seekers2001 d810078424 merge: sync origin/main into docs-test-regression 2026-10-10 17:43:40 +08:00
Seekers2001 83bba4e41f merge: sync origin/main into docs-change-impact 2026-10-10 17:42:23 +08:00
Seekers2001 807ccbfcc0 merge: sync origin/main into docs-context-decisions 2026-10-10 17:40:16 +08:00
montjeffrey 92947a68df Merge upstream/main into feat/gateguard-fewer-round-trips
Resolve six conflicts:
- hooks/hooks.metadata.json: keep this branch's gateguard description and
  fingerprint, add upstream's hookify-runtime entries.
- package.json: keep both gateguard-report.js and github-coordination.js.
- scripts/hooks/gateguard-fact-force.js, tests/hooks/gateguard-fact-force.test.js,
  skills/gateguard/SKILL.md: upstream added a simpler session denial cap; this
  branch already has the fuller one (cap threaded through
  markCheckedAndCountDenial, malformed-value warning, miss and target notes),
  so keep it. Upstream's taskset and su wrapper handling, fail-closed
  recursion limit and soft-hyphen sanitising merged cleanly and their tests pass.
- manifests/context-packs/skill-triggers@1.json: take upstream's file and
  recompute registryDigest for the merged registry.
2026-10-09 20:38:25 -04:00
haelyra aac9b3d34b fix: preserve activity errors, asset bytes and runner summaries
Treat non-2xx activity responses as feed errors, preserve non-Markdown Copilot agent assets, and apply the reviewed reference escape parity correction with regenerated bindings. Allow the test runner to drain piped output on its existing success or failure exit status. Validate installed workflows and bounded real Node20/24 pipe regressions.
2026-10-09 19:33:37 -04:00
haelyra 5981dd7092 fix: complete reviewed integration workflows and safety checks 2026-10-09 18:54:39 -04:00
haelyra 5bf248d51d merge: preserve source-verified tinystruct documentation 3231 2026-10-09 17:04:47 -04:00
haelyra b6e0261903 merge: preserve static MCP dependency review source 3239 2026-10-09 17:04:33 -04:00
haelyra d854a4a280 merge: preserve OSINT source 3198 and upstream license bytes 2026-10-09 17:03:58 -04:00
haelyra a5432e84f7 merge: preserve tested stocktake discovery and save source 3220 2026-10-09 17:03:20 -04:00
montjeffrey ad031b60fb Merge upstream/main into feat/gateguard-fewer-round-trips
Resolve the one conflict, skill-triggers@1.json: take upstream's
pretty-printed manifest and recompute registryDigest for the merged
registry so validate-context-profiles passes.
2026-10-09 16:58:12 -04:00
haelyra 0aebb36af2 merge: preserve cache guidance source 3173 with measured cost boundaries 2026-10-09 16:27:29 -04:00
haelyra 206ad23125 merge: preserve payment source 2575 with tested origin and approval boundaries 2026-10-09 16:27:03 -04:00
haelyra d5abc5c8fc merge: preserve reviewed plan registry source 2914 2026-10-09 16:27:02 -04:00
haelyra 7265b989c4 merge: preserve tested bounded Hookify carry-forward candidate 3055 2026-10-09 16:17:57 -04:00
haelyra 6139971817 merge: preserve tested token card source 3039 and synchronize catalog 2026-10-09 16:15:37 -04:00
haelyra 1d02fbfa51 merge: preserve tested agent-security source 3015 2026-10-09 16:11:53 -04:00
haelyra 74355d8cc7 merge: preserve source 2974 with tested distribution and commit guidance fixes 2026-10-09 16:09:57 -04:00
haelyra 27f49f447c merge: preserve tested Copilot distribution source 2963 2026-10-09 16:09:32 -04:00
haelyra 64b235a663 merge: preserve tested Bun isolate guidance source 2968 2026-10-09 16:08:32 -04:00
haelyra 660a38ad24 merge: preserve tested documentation governance source 2943 2026-10-09 16:06:24 -04:00
haelyra 3ab06e8c6c merge: preserve reviewed routing wrapper source 2755 2026-10-09 16:05:14 -04:00
haelyra c4f419bea0 merge: refresh reviewed stewardship source 3280 on current main 2026-10-09 16:02:58 -04:00
wellkilo a50ee13cac feat: execute bounded local Hookify rules in lifecycle hooks
Carry forward PR #3055 at 92f53c4c onto ef648e01, preserving contributor attribution and current main. Focused maintainer fixes reuse shared input ceilings, preserve late root context through outer bootstrap, bound frontmatter before immutable parsing, and assert real oversized input in the limits workflow.
2026-10-09 15:59:20 -04:00
haelyra 9e951e266d fix: normalize portable workspace path separators 2026-10-09 15:49:31 -04:00
haelyra aa365f4405 docs: integrate bounded Bun 1.4 runtime guidance
Preserve PR #2968 contributor history, verified upstream claims, and target-specific metadata. Rebind the existing trigger registry metadata after the merge, retaining current trigger phrases and generation provenance. Portable Bun 1.4.2 isolation and parallel-timing examples passed; all five Markdown files and context profiles validated.
2026-10-09 15:47:57 -04:00
dusseau-dev 849456d57e feat(skills): add agent runtime gateway smoke test 2026-10-08 22:59:42 -04:00
David HeandClaude Opus 5.5 9c21aaa681 fix(skills): set pipefail before piped gates in verification-loop
Phase 1 pipes the build into `tail -20`. Without pipefail the pipeline's
exit status is tail's, so a failed build exits 0. Phase 2 already sets
pipefail, but only after Phase 1 has run, and each phase is its own code
block. Set it at the top of the Phase 1, 3 and 4 blocks, which pipe a gate
into head or tail. Mirrored in pi/core.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 08:07:00 -04:00
aiscimi-code ad86a8d972 fix(skills): track current phase in gap register for mid-stream resume 2026-10-07 13:55:25 +01:00
aiscimi-code f65a969745 feat(skills): add brownfield-retrospective workflow for mid-project ECC adoption 2026-10-07 13:46:43 +01:00
t0kubetsu bf5cd6c95e fix(story-lifecycle): reject Points outside 1, 2, 3, 5, 8
A non-numeric, negative, or exponent Points value was persisted and
silently skewed the derived sprint total (bogus -> 0, -3, 1e3 -> 1000)
with no drift reported. parseStory now enforces the documented values,
so apply rejects the batch and status reports the invalid story.
2026-10-07 12:05:53 +02:00
t0kubetsu 7f797d65c4 fix(story-lifecycle): confine ledger I/O, race-free stale locks, enforce transitions
Resolve the Greptile findings on 74262955:
- Refuse symlinked .stories/, epics/, sprints/, .txn/, .ids/ and
  symlinked ledger files, so no read or write leaves .stories/.
- Recovery accepts only regular backup-<n> files in .txn/, validates the
  whole journal before restoring, and never writes through a planted
  restore.tmp.
- Remove a stale lock only under .lock.break after a re-read, so a live
  lock is never deleted; a leftover .lock.break times out (exit 3)
  instead of spinning.
- apply enforces one-step-forward status transitions, new stories start
  as todo, and Sprint must be unassigned or an existing sprint file.
- Refuse a batch that names the same file twice (e.g. a\b vs a/b).

Symlink tests skip on Windows when symlink creation returns EPERM.
2026-10-07 11:45:30 +02:00
montjeffrey 56a516c2c5 Merge upstream/main into feat/gateguard-fewer-round-trips
Brings in the three commits main gained since the branch's merge base: the 2.2.3
release, retiring the Everything Claude Code name for ECC, and the ja-JP sponsor
update. 227 files arrive from main; two conflicted.

CHANGELOG.md: the branch had added an Unreleased section and main a released
2.2.3 section, both at the top. Both are kept verbatim with Unreleased above
2.2.3, since none of the branch's entries shipped in that release.

manifests/context-packs/skill-triggers@1.json: both sides had recomputed
registryDigest from the same earlier value to different results, and neither is
the digest of the merged tree. It is recomputed with loadContextRegistry over the
merged tree and only that field changes; triggers and triggersDigest are
untouched on both sides. validate-context-profiles passes.

All twelve CI validators pass. The full suite reports 44 failures in seven files;
43 of them fail by name and count identically on an unmodified upstream/main, and
the remaining one, plugin-hook-bootstrap, fails only inside run-all and passes in
isolation on both trees. The merge introduces no failing test that main does not
already have.
2026-10-04 20:47:30 -04:00
Yann Roberto 64746b0f66 chore: sync main and refresh stocktake registry digest 2026-10-05 00:11:29 +08:00
Tom Elias 05c6b017e1 fix: cover Docker and Python MCP dependency selectors 2026-10-04 09:48:28 +03:00