From 8cd50d4beea3ba21814661c6de866711685ed015 Mon Sep 17 00:00:00 2001 From: xeonvs <11463419+xeonvs@users.noreply.github.com> Date: Sun, 13 Sep 2026 14:51:31 +0200 Subject: [PATCH] Synchronize released plugin bundles --- PLANS.md | 100 ++++++++++++++++++ PROVENANCE.json | 16 +-- README.md | 4 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../skills/engineering-workflow/SKILL.md | 12 +-- .../assets/templates/AGENTS.md.tmpl | 10 +- .../templates/project_principles.md.tmpl | 2 +- .../references/agent_orchestration.md | 10 +- .../references/target_workflow_upgrade.md | 2 +- .../references/validation_safety.md | 2 + .../scripts/upgrade_target_workflow.py | 9 +- .../tgrep-search/.claude-plugin/plugin.json | 2 +- .../tgrep-search/.codex-plugin/plugin.json | 2 +- .../tgrep-search/skills/tgrep-search/SKILL.md | 27 +++-- 15 files changed, 166 insertions(+), 36 deletions(-) diff --git a/PLANS.md b/PLANS.md index bd8f927..057ac55 100644 --- a/PLANS.md +++ b/PLANS.md @@ -4,6 +4,106 @@ plan_schema_version: 2 Use this file for active, blocked, ready-for-closure, or recently completed execution work. The canonical lifecycle is the installed `engineering-workflow` planning reference. +## Active Plan: Marketplace 1.0.5 Source Refresh + +Status: active +Owner: root +Last Updated: 2026-09-13 + +### Goal + +Import the newly released engineering-workflow 0.9.5 and tgrep-search 1.0.3 bundles, validate provenance and byte identity, publish marketplace 1.0.5, and refresh the managed local installations. + +### Plan Origin + +direct_execution + +### Requested Scope + +- Merge the prepared PRs, publish required source and marketplace artifacts, and update the marketplace without CI monitoring. + +### Requirement Traceability + +| Requirement | Complete outcome | Source | Work queue | Acceptance or validation | Status | +| --- | --- | --- | --- | --- | --- | +| REQ-001 | Released upstream bundles are imported only from their new annotated tags with exact provenance. | User release request | WQ-01 | Synchronizer output, catalog validation, tests, recorded-source byte verification. | in_progress | +| REQ-002 | Marketplace 1.0.5 is published from the reviewed synchronized state. | User artifact and marketplace request | WQ-02 | Final diff review, secret scans, merge/tag/release readback. | pending | +| REQ-003 | Managed local plugins resolve to the new marketplace versions without cache edits. | Earlier explicit local-skill update scope retained by current all-needed-updates request | WQ-03 | Codex CLI installation and version readback. | pending | + +### Explicit Non-Goals + +- Changes to unrelated skills or marketplaces, CI polling, branch monitoring, history rewrites, and manual cache edits. + +### Constraints + +- Import only stable annotated SemVer tags; preserve source bytes and immutable provenance. +- Use repository validation and release workflows; do not infer success from a dispatched workflow. + +### Inputs And Sources + +- engineering-workflow v0.9.5 at merged PR #9. +- tgrep-search v1.0.3 at merged PR #6. +- xeonvs-engineering merged PR #12 and current synchronizer contract. + +### User Decisions And Answers + +- 2026-09-13: Merge all prepared PRs and publish all necessary artifact and marketplace updates; do not monitor. + +### Completed Baseline State + +- [x] WQ-00 — All three prepared PRs merged at verified heads; source release gates passed and annotated tags were published. + +### Current Work Queue + +- [ ] WQ-01 — Synchronize and validate both released bundles. `in_progress` +- [ ] WQ-02 — Review, publish and release marketplace 1.0.5. `pending` +- [ ] WQ-03 — Refresh and verify managed local installations. `pending` + +### Locked Decisions + +- Perform synchronization locally for deterministic completion; do not dispatch or monitor the review-only automation. +- Marketplace patch release is v1.0.5, following v1.0.4. + +### Verification + +- Full marketplace tests, catalog validator, recorded-upstream byte verification, diff review, public-tree and all-ref secret scans. +- Read back immutable tags/releases and active managed plugin versions once. + +### Latest Validation Results + +- Source releases: engineering-workflow release gate 12/12 plus external Codex/Claude validation passed; tgrep-search tests/package/public/security gates passed. + +### Risks And Recovery + +- Risk: latest tag or imported bytes do not match intended commits. Recovery: synchronizer fails closed before publication. +- Risk: local marketplace refresh resolves stale content. Recovery: use CLI upgrade/add flow and version readback; never edit cache files. + +### Resume Point + +- Run the marketplace synchronizer for both configured plugins. + +### Plan Fidelity Check + +- [x] Source release, marketplace release, local refresh, no-monitoring boundary and verification are preserved. +- [x] No requested repository or skill is omitted. + +### Reconciliation Check + +- [ ] Changed results and plan entries agree. + +### Closure Gate + +- [ ] Requirements and queue are terminal; validation and delivery are recorded. + +### Post-Close Delivery + +- None. + +### Handoff Notes + +- None. + + ## Recently Completed - [x] 2026-09-13: Completed Proportional Marketplace Maintenance. diff --git a/PROVENANCE.json b/PROVENANCE.json index 72180b8..a26d645 100644 --- a/PROVENANCE.json +++ b/PROVENANCE.json @@ -4,23 +4,23 @@ "bundles": [ { "name": "engineering-workflow", - "version": "0.9.4", + "version": "0.9.5", "source_repository": "https://github.com/xeonvs/codex-engineering-workflow", "source_policy": "latest-tag", - "source_ref": "v0.9.4", - "source_commit": "bd86b45d1c79bfb9032c489c3b92780435182425", + "source_ref": "v0.9.5", + "source_commit": "5bc1e39c7a3c066ecaf93600f3abacd79d044e88", "source_path": "plugins/engineering-workflow", - "bundle_sha256": "3561bc8dafaa472e1d438f444e54fdba50882b3955f05246190970840c670d8b" + "bundle_sha256": "c88edf5db23d8a499a5dcb243a795abf5dfa495be563e66024c3aad21a3410f8" }, { "name": "tgrep-search", - "version": "1.0.2", + "version": "1.0.3", "source_repository": "https://github.com/xeonvs/tgrep-search", "source_policy": "latest-tag", - "source_ref": "v1.0.2", - "source_commit": "eb7609895fc8f720404e468a371dff4f53e1215d", + "source_ref": "v1.0.3", + "source_commit": "040a6389a1802fa44b9d511b493cb532867f41f6", "source_path": "plugins/tgrep-search", - "bundle_sha256": "4b5baec030e24b1afd0301eb209971850a37955d7d3a7de97dfa68b971f6356f" + "bundle_sha256": "6ec5d9e0278e7ed5900f1fd5f44f375b5d724678aa7326ca3f1682a0f99a61da" } ] } diff --git a/README.md b/README.md index d598ac3..5ebf838 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,8 @@ reviewed local bundle held in this repository. | Plugin | Version | Purpose | Canonical source | | --- | --- | --- | --- | -| [`engineering-workflow`](plugins/engineering-workflow/) | 0.9.4 | Audit, plan, migrate, validate, and maintain repository engineering workflows. | [`xeonvs/codex-engineering-workflow`](https://github.com/xeonvs/codex-engineering-workflow) | -| [`tgrep-search`](plugins/tgrep-search/) | 1.0.2 | Search local source trees efficiently with the tgrep trigram index. | [`xeonvs/tgrep-search`](https://github.com/xeonvs/tgrep-search) | +| [`engineering-workflow`](plugins/engineering-workflow/) | 0.9.5 | Audit, plan, migrate, validate, and maintain repository engineering workflows. | [`xeonvs/codex-engineering-workflow`](https://github.com/xeonvs/codex-engineering-workflow) | +| [`tgrep-search`](plugins/tgrep-search/) | 1.0.3 | Search local source trees efficiently with the tgrep trigram index. | [`xeonvs/tgrep-search`](https://github.com/xeonvs/tgrep-search) | ## Install diff --git a/plugins/engineering-workflow/.claude-plugin/plugin.json b/plugins/engineering-workflow/.claude-plugin/plugin.json index 6809d87..ceb5e96 100644 --- a/plugins/engineering-workflow/.claude-plugin/plugin.json +++ b/plugins/engineering-workflow/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "engineering-workflow", - "version": "0.9.4", + "version": "0.9.5", "description": "Audit, plan, migrate, validate, and maintain repository engineering workflows.", "author": { "name": "xeonvs", diff --git a/plugins/engineering-workflow/.codex-plugin/plugin.json b/plugins/engineering-workflow/.codex-plugin/plugin.json index aef8368..79f97d2 100644 --- a/plugins/engineering-workflow/.codex-plugin/plugin.json +++ b/plugins/engineering-workflow/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "engineering-workflow", - "version": "0.9.4", + "version": "0.9.5", "description": "Audit, plan, migrate, validate, and maintain repository engineering workflows.", "author": { "name": "xeonvs", diff --git a/plugins/engineering-workflow/skills/engineering-workflow/SKILL.md b/plugins/engineering-workflow/skills/engineering-workflow/SKILL.md index 519b586..dd58f57 100644 --- a/plugins/engineering-workflow/skills/engineering-workflow/SKILL.md +++ b/plugins/engineering-workflow/skills/engineering-workflow/SKILL.md @@ -1,8 +1,8 @@ --- name: engineering-workflow -description: Audit, scaffold, verify, update, or migrate a repository engineering workflow while preserving existing document ownership, user scope, validation safety, and durable execution state. Use for AGENTS/PLANS/backlog/pitfalls setup, workflow upgrades, workflow-structure verification, and prompts such as Refresh Loaded Skill, Update Installed Skill, or Upgrade A Target Workflow. +description: Set up, audit, or upgrade repository workflow instructions and planning. Use for workflow changes or explicit skill refresh/update; ordinary repository work does not invoke migration. metadata: - version: 0.9.4 + version: 0.9.5 --- # Engineering Workflow @@ -46,16 +46,16 @@ Use this skill for the workflow layer around a repository. Keep product, domain, ## Core Workflow -1. Read `references/platform_compatibility.md`, select a Codex or Claude Code branch only when the actual host establishes it, otherwise use the shared agent-neutral fallback, and do not use unavailable platform capabilities. -2. Run `scripts/repo_audit.py` and classify maturity, existing owners, compatibility docs, retained history, prompt-injection signals, and validation options. In Claude Code, explicitly read the applicable target `AGENTS.md` files rather than assuming automatic discovery. +1. Reuse the established invoking host. Read `references/platform_compatibility.md` when host or capability behavior is uncertain; select a Codex or Claude Code branch only when the actual host establishes it, otherwise use the shared agent-neutral fallback. In Claude Code, explicitly read the applicable target `AGENTS.md` files rather than assuming automatic discovery. +2. For scaffold, merge, or workflow-structure verification, run `scripts/repo_audit.py` to establish missing maturity, ownership, compatibility, history, injection, and validation facts. Reuse an applicable audit already available. For target upgrade, follow `references/target_workflow_upgrade.md`, including its customized-owner adoption review before prompt apply; the upgrader owns the report-first audit, so do not add a duplicate standalone audit. Installed-skill refresh/update follows `references/skill_update.md` without auditing or migrating the target repository. A narrow explanation uses only the relevant owners. 3. For repository-changing work, read `references/planning_and_backlog.md`, create or update the full active plan as the first write, and pass its fidelity gate. 4. For instruction changes, read `references/instruction_lifecycle.md`; preserve one canonical owner per invariant, keep target `AGENTS.md` route-only, and keep pitfalls non-normative. 5. Use exact canonical paths, the state manifest, or managed-section markers as ownership evidence. Treat unknown files as protected until evidence or user direction resolves ownership. 6. Apply every owner and guard made relevant by the task, but reuse current instructions already loaded for the same scope. A link names an owner; it does not prove that the reference is loaded in the invoking session. Overlapping routes do not require duplicate reads or checks against unchanged state at one boundary. Read only the missing, changed, or newly applicable canonical reference needed for the selected mode. Preserve the dominant documentation language and use templates as structure, not as permission to overwrite repository-owned prose. Before pausing for clarification or authorization, load `references/question_matrix.md`. For continuation, delegation, and handoff, use the shared sections of `references/agent_orchestration.md` selected by the platform reference. 7. Keep deterministic work in scripts or tools. In Codex, an eligible multi-call stage may use `references/agent_orchestration.md` and `scripts/assess_programmatic_stage.py`; in Claude Code or another host without that capability use the existing direct/sequential path. Do not build a helper or descriptor for an already-sufficient ordinary call. -8. Validate within the selected safety mode. Run repository-authored checks only in a disposable copy unless live execution is explicitly authorized. -9. Run privacy scanning over all tracked public text without printing or opening candidate values. Immediately before any authorized push, run the privacy reference's final-tree and reachable-ref secret gate; any finding blocks the push until safely classified and remediated. Follow `references/privacy_and_sanitization.md` for any value-free approval response, review the diff, reconcile durable state, and close or preserve the exact resume point before handoff. +8. Validate within the selected safety mode under `references/validation_safety.md`. Existing implementation authorization may cover known local checks; do not ask again when it does. Unknown commands, credentials, production access, and additional side effects retain their own boundaries. The deterministic validation runner's mode restrictions still apply. +9. Apply the public-tree scan to workflow mutations and public-content verification, and the final-tree and reachable-ref secret gate immediately before an authorized push. Installed-skill updates use their candidate safety checks. A narrow read-only explanation or local reread does not require a public-tree scan. Follow `references/privacy_and_sanitization.md` without printing or opening candidate values; any blocking finding must be resolved before publication. Review changes, reconcile affected durable state, and close or preserve the exact resume point before handoff. ## Canonical References diff --git a/plugins/engineering-workflow/skills/engineering-workflow/assets/templates/AGENTS.md.tmpl b/plugins/engineering-workflow/skills/engineering-workflow/assets/templates/AGENTS.md.tmpl index 1b57825..0ee302a 100644 --- a/plugins/engineering-workflow/skills/engineering-workflow/assets/templates/AGENTS.md.tmpl +++ b/plugins/engineering-workflow/skills/engineering-workflow/assets/templates/AGENTS.md.tmpl @@ -20,8 +20,14 @@ Use this file as a short route map, not as a project manual. Read the matched ow ## Task Routes - -| `execution-context` | every task, including clarification, steering, delegation, and handoff | platform reference first, then question policy and host-compatible shared orchestration sections | scope and host-capability review | + +| `execution-context` | host or capability uncertainty | installed platform reference | resolve uncertainty; reuse established session facts | + + +| `scope-decision` | material clarification or additional authorization | installed question policy | ask only for an unresolved material choice or permission | + + +| `task-handoff` | delegation, context recovery, or execution handoff | relevant shared orchestration sections | scope, ownership, and completion evidence | | `planning` | plan, backlog, closure, or default/custom workflow-state archive | installed planning reference | `lint:plan-lifecycle` | diff --git a/plugins/engineering-workflow/skills/engineering-workflow/assets/templates/project_principles.md.tmpl b/plugins/engineering-workflow/skills/engineering-workflow/assets/templates/project_principles.md.tmpl index e0e380a..9213ed5 100644 --- a/plugins/engineering-workflow/skills/engineering-workflow/assets/templates/project_principles.md.tmpl +++ b/plugins/engineering-workflow/skills/engineering-workflow/assets/templates/project_principles.md.tmpl @@ -39,7 +39,7 @@ Before each logical commit, review the complete intended slice against requireme ### Completion-Driven Wait -For long-running commands, follow the installed `engineering-workflow` completion-driven waiter and bounded-output contract. Keep full logs and required terminal results in private task-owned ignored artifacts, verify them independently of a possibly truncated waiter cell, and do not wake the model for periodic empty polls when the environment can wait for completion. +For long-running commands, follow the installed `engineering-workflow` completion-driven waiter and bounded-output contract. Use native terminal evidence when sufficient; retain private logs or durable results when needed for output volume or recovery. Do not wake the model for periodic empty polls when the environment can wait for completion. ## Owned References diff --git a/plugins/engineering-workflow/skills/engineering-workflow/references/agent_orchestration.md b/plugins/engineering-workflow/skills/engineering-workflow/references/agent_orchestration.md index 4853956..7f0e743 100644 --- a/plugins/engineering-workflow/skills/engineering-workflow/references/agent_orchestration.md +++ b/plugins/engineering-workflow/skills/engineering-workflow/references/agent_orchestration.md @@ -78,9 +78,9 @@ Select Programmatic Tool Calling only when all of these are established: Use direct calls when one call or one adequate native script is sufficient, when control flow is adaptive, when result schemas are unknown, or when the work includes semantic review, architecture or algorithm selection, implementation, approval, mutation, browser/citation work, native artifacts, final validation, or final user-facing synthesis. Do not create a helper or Programmatic Tool Calling descriptor for an ordinary call that is already sufficient. If a material ownership, schema, or acceptance fact remains unresolved after bounded read-only investigation, ask one targeted question instead of guessing. -Before execution, pass the model-established stage facts through `scripts/assess_programmatic_stage.py`. A `programmatic` result supplies the complete instruction block from the installed runtime template. A `direct` result keeps the work model-guided. An `ask` result identifies only the missing material fields. If the helper or runtime capability is unavailable, use direct calls and do not simulate or claim Programmatic Tool Calling. +Ordinary native batching of known independent calls may use the host's existing tool contract once the eligible tools, reduced output, concurrency, retry limit, and stopping condition are established. It does not require a descriptor or helper invocation. For a complex stage that benefits from a validated custom result schema, optionally pass the model-established facts through `scripts/assess_programmatic_stage.py`. A `programmatic` result supplies the complete instruction block from the installed runtime template; `direct` keeps work model-guided and `ask` identifies missing material fields. If the runtime capability is unavailable, use direct calls and do not claim Programmatic Tool Calling. -A programmatic stage may use only the rendered eligible tools and limits. It must preserve partial failures and required evidence, never repeat completed calls, never spawn agents, never write shared state, and return control to the root for semantic review and final validation. Its closed result envelope contains `status`, `stage`, full `data` or null, a bounded `evidence` subset, `missing`, and `errors`; on failure, retain only successfully validated declared evidence and never invent missing values. Treat the program result and the final assistant message as separate outputs that both require validation. +A programmatic stage may use only its declared eligible tools and limits. It must preserve partial failures and required evidence, never repeat completed calls, never spawn agents, never write shared state, and return control to the root for semantic review and final validation. Helper-assessed stages use the rendered closed result envelope: `status`, `stage`, full `data` or null, a bounded `evidence` subset, `missing`, and `errors`; on failure, retain only successfully validated declared evidence and never invent missing values. Native batches preserve each call's identity, outcome, and necessary evidence using the host contract. Treat the program result and the final assistant message as separate outputs that both require validation. ### Stage Descriptor And Result @@ -184,14 +184,16 @@ Do not implement monitoring as a model sleep loop. Use one completion-driven persistent waiter when the execution environment exposes a process/session identity or completion notification. Attach it until the process exits, cancellation is requested, or the overall deadline expires. A long maximum deadline is only an upper bound: the waiter returns immediately on actual completion. Keep timing, cancellation, and process observation in the execution layer; do not create a `model -> status/write_stdin -> model` loop for empty or unchanged state. -Treat a waiter cell and its retained output buffer as transport, not durable result storage. Before a command can produce unbounded output or a result needed after completion: +Use the native tool's process/session identity, terminal status, exit code, and sufficient untruncated output when they establish the required result. Do not add a wrapper, log directory, or result file merely because a command takes time or its result will inform the next action. A long maximum timeout is not a required wait after completion; yield as needed for host cancellation, steering, and progress updates. + +Treat a waiter cell and its retained output buffer as transport when results must survive detachment or context loss, output may exceed the transport limit, or the task requires durable evidence. In those cases: - allocate a private task-owned artifact directory outside the public repository, or use a verified ignored path when repository-local storage is necessary - stream complete stdout and stderr to bounded-access log files rather than accumulating them in model context - persist any machine-consumable terminal result atomically, with its schema/version and enough size or digest metadata to detect missing, partial, or replaced content - publish the completion signal only after the atomic result is durable; identify the process/session and terminal artifact without requiring the signal's output buffer to contain the result -On completion, independently verify process identity, terminal state, required result presence, schema, and integrity. Return only exit status, elapsed time, terminal classification, full log/result paths, whether transport output was truncated, integrity status, and a bounded diagnostic tail or small structured summary. Read focused log ranges only after a concrete failure. Cell truncation alone does not invalidate a result whose durable artifact verifies. If the waiter is lost or a terminal exit leaves required evidence absent or invalid, classify the outcome explicitly as `waiter_lost` or `result_unrecoverable`; do not report success or blindly rerun a side-effecting command. +On completion, verify the native terminal evidence and any required artifacts. For durable artifacts, independently verify result presence, schema, and integrity. Return the exit status and task-relevant result; include elapsed time, log/result paths, whether transport output was truncated, and integrity status when needed to assess completion or recovery. Read focused logs when a failure or missing required evidence leaves a concrete question. Cell truncation alone does not invalidate a result whose durable artifact verifies. If the waiter is lost or a terminal exit leaves required evidence absent or invalid, classify the outcome explicitly as `waiter_lost` or `result_unrecoverable`; do not report success or blindly rerun a side-effecting command. Set one overall deadline and preserve a cancellation path. On cancellation, deadline, or waiter failure, terminate and clean up only task-owned children and temporary artifacts. Retain diagnostic/result artifacts until the root has validated the handoff; then remove them according to the task's cleanup boundary. Preserve non-sensitive process/session identity needed to distinguish completion from waiter loss, but never expose credentials, inherited environment, or private log contents. diff --git a/plugins/engineering-workflow/skills/engineering-workflow/references/target_workflow_upgrade.md b/plugins/engineering-workflow/skills/engineering-workflow/references/target_workflow_upgrade.md index a1616c1..9a083c5 100644 --- a/plugins/engineering-workflow/skills/engineering-workflow/references/target_workflow_upgrade.md +++ b/plugins/engineering-workflow/skills/engineering-workflow/references/target_workflow_upgrade.md @@ -24,7 +24,7 @@ Use this canonical reference for `upgrade_target_workflow`, which migrates the w Treat `Upgrade A Target Workflow` plus a target repository as an authorized repo-changing prompt, not as a request for CLI instructions. 1. Resolve the target path and requested version from context; default to the installed skill version. -2. Invoke `scripts/upgrade_target_workflow.py --prompt` yourself. +2. Before prompt apply, review target-local owners affected by the requested release's changed semantics when adoption has not already been established. For customized owners, preserve equivalent rules or make the narrow requested correction under the full planning and privacy gates; ask only for a real ownership conflict. A same-version stamp or `already_current` result proves structural state, not semantic adoption. For the 0.9.5 changes, inspect the execution-context route and completion-wait owner for unconditional loading or artifact requirements. Use already-current evidence, and do not sweep unrelated owners. Then invoke `scripts/upgrade_target_workflow.py --prompt` yourself. 3. Prompt mode builds and reviews the read-only migration report first. 4. If ownership, conflicts, privacy, and approvals are resolved, it proceeds through guarded apply and validation automatically. 5. If the result returns `agent_action: ask_targeted_question`, ask only `question_to_ask`; keep any later questions deferred and do not write target files. diff --git a/plugins/engineering-workflow/skills/engineering-workflow/references/validation_safety.md b/plugins/engineering-workflow/skills/engineering-workflow/references/validation_safety.md index e33b543..224e597 100644 --- a/plugins/engineering-workflow/skills/engineering-workflow/references/validation_safety.md +++ b/plugins/engineering-workflow/skills/engineering-workflow/references/validation_safety.md @@ -61,6 +61,8 @@ Preserve internal symlinks, but reject the run if a copied symlink resolves outs Use only when mutation of the real target is explicitly authorized and belongs to the requested workflow. Validation authorization does not broaden product or operational scope. +Apply `question_matrix.md` to established authorization: an implementation request covers known local checks and affected reruns when their repository, side effects, and environment are already within scope. Do not ask for separate approval solely because a check executes repository code. Inspect unknown commands first; production access, credentials, network changes, and unrelated mutations need their own applicable authorization. This does not change the deterministic runner's selected mode or bypass an offline/sandbox requirement. + ## Token-Aware Classification Parse a single command with `shlex` or an equivalent tokenizer. Reject malformed input and shell control syntax conservatively. diff --git a/plugins/engineering-workflow/skills/engineering-workflow/scripts/upgrade_target_workflow.py b/plugins/engineering-workflow/skills/engineering-workflow/scripts/upgrade_target_workflow.py index 07d08a9..e668627 100644 --- a/plugins/engineering-workflow/skills/engineering-workflow/scripts/upgrade_target_workflow.py +++ b/plugins/engineering-workflow/skills/engineering-workflow/scripts/upgrade_target_workflow.py @@ -55,6 +55,11 @@ ) LEGACY_PRISTINE_HASHES = { "AGENTS.md": { + # 0.9.2-0.9.4 rendered routes require narrowing in target-local bytes. + "e1108fac31610c6152594713dc4718433cabebe9e9438ab19b3b976024249810", + "cb5680f03322d35accd82791cd1dd13f3f555f7ae32f59106d12a2c0bde3f8db", + "7e9a00526bfaca2ba52ada47b1b5c4841ef7fe234081a8a18f4d735b284e7850", + "369752216cdf90a551f5ea473fcd8803667c53cf9d41e313605e80cbcba22f21", "a8d95f1fa60b6d1e5e2adebf26003bae3cfeb1528f375e4b2579adc25ad58024", "8677f495bb2c8017d3cd4e76ab87e5a4390a3d4e8d2127b8c8450c92f1fbc5b7", "ab74ed6dfce15e498efe3a55e8282b9b7e02e0e4aab43853dfb3caa51d567001", @@ -72,6 +77,8 @@ "cc1e93e5ecf382d71c16212fcb7b94dacb604616e716f6d4d476c112e0392070", }, CANONICAL_FILES["principles"]: { + # Replace the unconditional durable-artifact requirement, not custom prose. + "c4ebd34d0e9606a1b3daf5bdece510cd9b3052d40469123ff086938b49904973", "c37b57e9c654e36c5e4269b0e9f43b736d25ba11b9894d4784c24a95c9fe47fe", "cb72c47c3d9d7165eaeedfcded0d222a1d558ec90440887bf8569862b307b5aa", "9c54b3d5b7cddee93c9de05e75035f0750527bc0e86fe985b2cda95ede9ceb9f", @@ -1631,7 +1638,7 @@ def main() -> int: mode.add_argument("--plan", action="store_true") mode.add_argument("--apply", action="store_true") mode.add_argument("--prompt", action="store_true") - parser.add_argument("--target-version", default="0.9.4") + parser.add_argument("--target-version", default="0.9.5") parser.add_argument("--include-agent-config", action="store_true") parser.add_argument( "--approve-privacy-review", diff --git a/plugins/tgrep-search/.claude-plugin/plugin.json b/plugins/tgrep-search/.claude-plugin/plugin.json index 5f8eca4..c8a9a35 100644 --- a/plugins/tgrep-search/.claude-plugin/plugin.json +++ b/plugins/tgrep-search/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "tgrep-search", - "version": "1.0.2", + "version": "1.0.3", "description": "Search local source trees efficiently with the tgrep trigram index.", "author": {"name": "xeonvs", "url": "https://github.com/xeonvs"}, "homepage": "https://github.com/xeonvs/tgrep-search", diff --git a/plugins/tgrep-search/.codex-plugin/plugin.json b/plugins/tgrep-search/.codex-plugin/plugin.json index fcf8269..f80dd53 100644 --- a/plugins/tgrep-search/.codex-plugin/plugin.json +++ b/plugins/tgrep-search/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "tgrep-search", - "version": "1.0.2", + "version": "1.0.3", "description": "Search local source trees efficiently with the tgrep trigram index.", "author": {"name": "xeonvs", "url": "https://github.com/xeonvs"}, "homepage": "https://github.com/xeonvs/tgrep-search", diff --git a/plugins/tgrep-search/skills/tgrep-search/SKILL.md b/plugins/tgrep-search/skills/tgrep-search/SKILL.md index 4e9295d..8a6a058 100644 --- a/plugins/tgrep-search/skills/tgrep-search/SKILL.md +++ b/plugins/tgrep-search/skills/tgrep-search/SKILL.md @@ -21,10 +21,10 @@ safe, or correct. Inspect the owning code and tests before acting on it. | Situation | Use | Why | | --- | --- | --- | -| One query or a small tree | `tgrep -- ...` | Avoid setup cost; it falls back to an ordinary scan when no index exists. | +| One query or a small tree | `rg -- ...` or already-available `tgrep -- ...` | Avoid setup cost. | | Several queries in one task | `tgrep index ...`, then indexed searches | One bounded index amortizes repeated discovery. | | Long-lived terminal session with many edits | One managed `tgrep serve ...` | A shared local server maintains a live overlay and answers multiple clients. | -| Exact post-edit or exhaustive absence check | `tgrep --no-index ...` | It reads the current filesystem rather than a possibly stale snapshot. | +| Exact post-edit or exhaustive absence check | `rg -- ...` or `tgrep --no-index ...` | Read the current filesystem rather than a possibly stale snapshot. | Do not start a persistent server for a short task or a non-persistent agent runtime. A personal or non-coding agent can use the same modes over an @@ -33,11 +33,21 @@ applies only to repositories. ## Availability and boundaries -1. Check `tgrep --version` or `tgrep --help`. If unavailable, use only the - current installation instructions in the official - [microsoft/tgrep repository](https://github.com/microsoft/tgrep): - `brew install tgrep`, `cargo install --path tgrep-cli --locked` from an - official checkout, or a platform-appropriate official GitHub Release. Verify +For a small or one-off search, start with the available `rg` installation (or +an already-available `tgrep` without setup). Use `rg` for hidden-file searches +with `--hidden` and for exact current-filesystem searches; `--no-index` is a +`tgrep`-only flag and must not be passed to `rg`. Do not install `tgrep`, build +an index, or start a server merely to perform that search. Install it only when +the user explicitly requests installation or when repeated discovery justifies +setup and normal authorization permits it. + +1. If indexed mode is selected and `tgrep` availability is unknown, check + `tgrep --version` or `tgrep --help`. If installation is explicitly + requested or justified by repeated discovery, use only the current + installation instructions in the official + [microsoft/tgrep repository](https://github.com/microsoft/tgrep): `brew + install tgrep`, `cargo install --path tgrep-cli --locked` from an official + checkout, or a platform-appropriate official GitHub Release. Verify `tgrep --help` afterwards. Do not substitute a similarly named package or an unverified binary. Respect the agent's normal installation and approval boundary. @@ -100,6 +110,9 @@ prevents an accidental subcommand when searching for words such as `index` or `serve`: ```bash +# Small or one-off search, including hidden files, without index setup. +rg --hidden -n -S --glob '!.git/**' -- 'parse_config' src tests + # Literal symbol/value: safest default for user-provided text. tgrep --index-path .tgrep-index -F -n -C 2 -- 'OCR_REVIEW_PROGRESS' src tests docs