Skip to content

Chore/remediation w1 w2 - #54

Closed
azagreev wants to merge 53 commits into
nidhinjs:mainfrom
azagreev:chore/remediation-w1-w2
Closed

Chore/remediation w1 w2#54
azagreev wants to merge 53 commits into
nidhinjs:mainfrom
azagreev:chore/remediation-w1-w2

Conversation

@azagreev

Copy link
Copy Markdown

No description provided.

azagreev and others added 30 commits June 11, 2026 20:22
Restructure into a Claude Code marketplace plugin:
- add .claude-plugin/marketplace.json and plugins/prompt-master/.claude-plugin/plugin.json
- move SKILL.md + references/ into plugins/prompt-master/skills/prompt-master/
- add docs/installation.md (3 install methods), CHANGELOG.md, .gitignore

Adapt prompt routing for current-gen models:
- rewrite GPT-5.x section for GPT-5.5 (outcome-first, text.verbosity,
  reasoning-effort tuning, preambles, retrieval budgets)
- add Claude Fable 5 / Mythos 5 routing block (effort-based steering,
  brief-intent prompting, progress grounding, parallel subagents, memory)
- add hard rule against reasoning-echo on Fable 5 (reasoning_extraction refusal)
- add Model-fit failures section to the Diagnostic Checklist
- bump skill version 1.7.0 -> 1.8.0; update README

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bumps the version in plugin.json (canonical) and SKILL.md frontmatter in
sync, inserts a CHANGELOG stub, and optionally creates a signed git tag.
Supports -Version X.Y.Z or -Bump major|minor|patch, with -DryRun and a
guard against non-increasing versions. Auto-converts a WSL-style
user.signingkey path (/mnt/c/... -> C:/...) so tag signing works from
Git-for-Windows too.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Removes the duplicated 1.0.0–1.8.0 list from README; CHANGELOG.md is now
the single source of version history, so releases no longer require a
manual README edit.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- CHANGELOG: Keep a Changelog / SemVer header, dated 1.8.0 heading,
  GitHub release link-reference footer
- README: add "🔄 Обновление плагина" section (auto-update + manual
  update for Claude Code CLI and Cowork)
- installation.md: point the activation-troubleshooting note to the
  README update section
- bump-version.ps1: also append the [X.Y.Z] release link to the
  CHANGELOG footer and surface a `gh release create` step

GitHub Release for v1.8.0 published so the footer link resolves.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Implements the idea from upstream nidhinjs#13 on our diverged
tree: tool-specific routing profiles no longer load on every activation.

- add references/tool-profiles.md with all ~28 per-tool profiles (read only
  the matching section after identifying the target tool)
- replace the inline Tool Routing block in SKILL.md with an on-demand pointer
  plus a 9-item Gotchas cheat-sheet for the most common per-tool mistakes
- keep core (identity, hard rules, intent extraction, diagnostics, memory,
  safe techniques, verification) and universal rules (Credential Safety,
  Input Sanitization) always-loaded in SKILL.md
- SKILL.md 502 -> 219 lines; add tool-profiles.md to the Reference Files table
- bump 1.8.0 -> 1.9.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Implements two upstream ideas on our diverged tree.

Cortex Code (idea from nidhinjs#15):
- add Cortex Code (Snowflake CLI agent) profile to tool-profiles.md
- list it in README "Works with" and the tool table

Dated model fact-sheet (idea from nidhinjs#48):
- add references/models.md — per-vendor volatile facts (IDs, defaults,
  version-tied params, retirements), each section dated with last-verified
  and governed by a 60-day re-verify protocol; fast-moving vendors marked
  "verify" rather than fabricated
- add pattern nidhinjs#38 (hardcoded retired model / dead parameter); 37 -> 38
- SKILL.md: re-verify pointer in Tool Routing, "Stale model facts" gotcha,
  models.md in the Reference Files table
- tool-profiles.md header points to models.md as the volatile-facts layer

bump 1.9.0 -> 1.10.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reverses the 1.8.0 choice: when the user says "Claude" without a version,
the skill now targets Fable 5 / Mythos 5. Opus 4.8/4.7 become selectable
fallbacks (named explicitly, or for benign work in domains where Fable 5
refuses).

- tool-profiles.md: flip Claude block default to Fable 5; relabel Opus 4.8
  subsection as "selectable fallback"
- SKILL.md: Gotchas list Fable 5 first (marked default), Opus as fallback
- models.md: Fable 5 marked as the skill's default routing target;
  factual harness-default note for Opus 4.8 kept
- plugin.json / marketplace.json descriptions: Fable 5 as default,
  pattern count 35 -> 38; README table rows marked (default)/(fallback)
- bump 1.10.0 -> 1.11.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…e (v1.12.0)

Selective slice of the v2 PRD — adopts only what stays cheap and consistent
with the skill's hard rules; rejects Council-style multi-critic, numeric
uncertainty coefficient, 4-5 question limit, and formal Lean/Thorough modes
(rationale in docs/sources.md).

- Intent Extraction: internal Low/Med/High readiness gate (never shown);
  impact-ranked fork questions; hard 3-question cap; on residual ambiguity
  ship best-effort prompt with explicit assumptions + open-questions note
- RECENCY ZONE upgraded to a single-pass structured Self-Critique over 5
  fixed dimensions (no iteration, no simulated personas)
- templates.md: Canonical Prompt Structure default skeleton (text-LLM only)
- docs/sources.md: technique rationale + links + explicitly-rejected PRD items
- Output format: assumptions/open-questions note when the 3-question cap is hit
- identity: terse-and-silent internal-analysis discipline
- bump 1.11.0 -> 1.12.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…readiness gate (v1.13.0)

Closes three flaws found in the v1.12 live test (auth-refactor):
- A: Claude Code profile now defaults to Claude Fable 5 (Opus 4.8 on request /
  Fable-refusal domains) — fixes the v1.11 regression where the sub-profile
  still named Opus 4.8.
- B: conditional model/effort economy in the agentic profile + Template M —
  orchestrator+delegation for large multi-part work, one focused pass for a
  single scoped task. Deliberately NOT always-tier (orchestration costs tokens).
- C: readiness gate distinguishes placeholders from open decision forks; the
  most decisive fork becomes the first question and every remaining fork is
  listed in the assumptions note, never silently defaulted.

Also: security-equivalence invariant and refactor/migration test-safety-net
(characterization tests first; assertion-vs-plumbing contradiction resolved)
in Diagnostic Checklist + Template M; refactor+migrate now sequenced.

Always-loaded core grew ~4 lines; heavy logic stays in on-demand references.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…, lint gate (v1.14.0)

Selective port from msitarzewski/agency-agents (8-agent mining workflow +
opus applicability pass). Implemented via 5 parallel agents over disjoint
files (opus on SKILL.md/templates.md, sonnet on the rest).

Added:
- Agentic Prompt Fragments (templates.md, opt-in): orchestrator-as-decomposer
  + task-ledger; loop-termination contract (retry-cap + escalation,
  evaluator-optimizer plateau-exit) fenced as RUNTIME behavior — never leaks
  into single-pass self-critique; handoff + degraded-output; role template
  (NOT-RESPONSIBLE-FOR + failure-behavior); HITL gate taxonomy +
  over-escalation warning; evidence-required review clause; effort-tier chooser.
- 4 new patterns (38 -> 42): vague-qualifier, injection/no-OOD-fallback,
  scope-creep, unhandled agentic failure mode.
- Routing Index atop tool-profiles.md; per-model syntax preferences
  (Claude=XML, GPT=persona); evergreen image-tool syntax notes.
- scripts/lint.ps1 release gate (ERROR/WARN: version sync, pattern-count
  drift, frontmatter fields, CRLF) — adapted from agency-agents lint shape.
- .gitattributes (LF enforcement); docs/sources.md rationale rows.

Changed:
- nidhinjs#23 anti-sycophancy: readiness gate + self-critique default to NEEDS
  REVISION internally; READY only with cited evidence. Stays internal.
- nidhinjs#42 scope-creep self-check + "Surface, don't smuggle" in Token-Efficiency.
- nidhinjs#35 memory x 3-question-budget; store decisions with rationale.

Always-loaded core grew within budget (SKILL.md 238 lines). lint.ps1 green;
negative test confirms it catches mismatches. v1.13 guardrails intact.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ed agentic guardrails (v1.15.0)

Two-layer detection of "prompt for a multi-agent runtime" requests, plus
enrichment of the Agentic Prompt Fragments with curated best-practices from
DenisSergeevitch/agents-best-practices (sources: Anthropic Building effective
agents / context-engineering / harnesses / evals; OpenAI harness-engineering /
prompt-caching / guardrails; OWASP AI Agent Security; NIST AI RMF).

Per the study's headline finding ("don't build a multi-agent system before a
single-agent loop has failed measurable evals"), v1.15 itself is implemented as
a single pass — no subagent fan-out. Hand-rolled heuristics replaced by sources.

Added:
- Layer 1 (SKILL.md Gotcha): route multi-agent/orchestrator prompt requests to
  the Agentic Prompt Fragments; default to a single loop.
- Layer 2 (plugins/prompt-master/hooks/): hooks.json (UserPromptSubmit -> Node)
  + multi-agent-detect.js — high-precision detector (intent-to-build-a-prompt
  AND multi-agent signal, EN+RU; bare "agent" excluded). Injects a self-aware
  additionalContext nudge, else silent; always exit 0 (never blocks); fs+regex,
  cross-platform (Node).
- templates.md enrichment: when-to-orchestrate (7 criteria + anti-pattern);
  situation->pattern table; packet contract (7 properties); worker context
  isolation; independent verification; enforced budgets; parallelism rule;
  cache-aware ordering.
- docs/sources.md rationale + primary sources; .gitattributes *.js eol=lf.

Tests: T4 hook unit test (6 cases: 2 positive EN/RU, 3 negative incl. bare
"agent", JSON validity) green; lint.ps1 green; pattern count unchanged (42);
v1.13 A-G and v1.14 guardrails intact; loop-contract stays runtime-only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…pended (v1.16.0)

External event: Anthropic disabled Claude Fable 5 and Mythos 5 for ALL customers
on 2026-06-12 to comply with a US export-control directive (all other models
unaffected). Source: https://www.anthropic.com/news/fable-mythos-access

The v1.11 default (Claude -> Fable 5) now points at an unavailable model — a real
breakage. Default reverts to Opus 4.8 everywhere; Fable 5 / Mythos 5 are marked
SUSPENDED (dated), not deleted, so rollback is trivial if access returns. This is
the dated-fact + pattern nidhinjs#38 (retired/unavailable model) protocol working.

Changed: models.md (dated suspension fact + Opus-default, last-verified
2026-06-14), SKILL.md Gotchas, tool-profiles.md (Claude header, Routing Index,
Claude Code profile), templates.md Template M, plugin.json/marketplace.json
descriptions, README routing tables, docs/sources.md.

Tests: lint.ps1 green; default=Opus 4.8 across all routing points; no active
Fable default remains (negative grep); v1.13 A-G, v1.14, v1.15 (hook + Agentic
Prompt Fragments) guardrails intact; pattern count unchanged (42).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…against Perplexity live docs (v1.17.0)

Adds support for prompting deep-research / cited-report tools (Perplexity Deep
Research, GPT/Gemini Deep Research, Sonar). Facts verified against the live
Perplexity docs (docs.perplexity.ai via MCP, 2026-06-14), which overrode parts
of the user-supplied guide (Feb-2025 blog + community).

Added:
- Template N "Research Brief" (templates.md): Role+Goal -> specific aspects ->
  scope -> output structure (cap top-N, no URLs in prose) -> source
  priorities+freshness -> REQUIRED "Data gaps & confidence" section. Tool-aware:
  Sonar filters as params + question in user-message; UI Focus/Spaces.
- patterns nidhinjs#43 "Vague / mis-specified research request" (42 -> 43).
- models.md "## Perplexity" section: sonar-deep-research 128K; search driven by
  user-message only (system prompt not seen by search); filters are request
  params (search_domain_filter <=20 allow/deny, search_recency_filter); search_mode
  / reasoning_effort values flagged verify; Agent API recommended; Spaces.
- SKILL.md Safe Techniques "Research grounding".

Changed:
- tool-profiles.md Perplexity profile rewritten to official Sonar guidance
  (filters-as-params not prose; user-message drives search; cap counts; no few-shot).
- SKILL.md Gotcha for research tools; pattern count 42 -> 43 everywhere.

Did NOT carry over stale/incorrect items from the user guide: filters-in-prose
(ignored by Sonar), domain-limit "3" (actually up to 20), unverified "Finance"
Focus; volatile values flagged verify.

Tests: lint.ps1 green (count=43 consistent); T2/T2-negative/T3 green; v1.16 Opus
4.8 default + Fable suspended and v1.13–v1.15 guardrails intact.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add an xAI/Grok profile across the skill, with all model facts verified
against live docs.x.ai via the grok-doc-server MCP (2026-06-15). Grok had
zero prior mentions — this closes a gap rather than fixing stale data.

- tool-profiles.md: Routing Index row + full Grok profile (reasoning-native
  grok-4.3, no realtime knowledge without Web/X Search, X Search signature,
  filters-as-params, grok-4.20-multi-agent for deep research, mandatory
  output format)
- models.md: new "## xAI — Grok" section (last-verified 2026-06-15);
  beta multi-agent + dated 4.20 IDs under ⚠️ verify; prices not hardcoded
- patterns.md: nidhinjs#44 "Real-time request to a cutoff model with no retrieval"
  (43 → 44)
- SKILL.md: grok-4.3 added to no-CoT reasoning-native lists; Grok Gotcha
- templates.md: Template N Grok variant
- side o1→o3/o4-mini cleanup (README, templates, nidhinjs#27); o1 kept only in nidhinjs#38
- plugin.json/marketplace.json/README: Grok in descriptions/keywords, 43→44

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fix two behavioural defects found on installed Grok prompts: the skill
silently invented the answer's output format, and didn't require inline
source citations for retrieval-capable tools. Shared root cause: the rules
lived only in a low-authority Gotcha and lost to the Diagnostic Checklist's
"derive silently". Both are now wired into the Diagnostic Checklist +
readiness gate.

- SKILL.md: new Safe Technique "Source citations" (conditional citation
  contract); Diagnostic Checklist entries for citations + never-silent
  output format; readiness-gate clause; Grok/Research Gotchas strengthened
- patterns.md: nidhinjs#45 "Citable task with no inline-citation contract" (44->45)
- tool-profiles.md: Grok / Perplexity / Gemini citation + format notes
- templates.md: Template N inline-citation + no-fabrication line
- README / plugin.json / marketplace.json: 6 Safe Techniques, count 44->45

Citations are conditional (factual/research on a retrieval-capable tool)
and always paired with "cite only retrieved / never fabricate / [uncertain]"
so anti-fabrication holds. Verified by a clean-room behavioural test
(fresh subagents, skill files only, 9/9 pass).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rewrite the thin/stale DeepSeek section to V4, with facts verified against
live api-docs.deepseek.com (context7, 2026-06-15). User-supplied Grok
DeepSearch research files were treated as leads and corrected (there are
two API models v4-pro/v4-flash, not one; legacy names live until 2026-07-24).

- models.md: rewritten ## DeepSeek — deepseek-v4-pro / deepseek-v4-flash
  (1M, OpenAI+Anthropic interface, dual-mode); legacy deepseek-chat/reasoner
  retire 2026-07-24; reasoning_effort high/max only; temperature/penalties
  ignored in thinking; preserve reasoning_content with tool calls; JSON mode;
  no native deep-research agent. GA names/prices under verify.
- tool-profiles.md: DeepSeek-R1 profile -> DeepSeek (V4, dual-mode) with a
  model x mode x effort decision table + Routing Index row.
- SKILL.md: DeepSeek Gotcha line; no-CoT reasoning-native lists updated
  (DeepSeek-R1 -> DeepSeek thinking mode).
- README: both tables updated to DeepSeek V4 dual-mode.
- patterns.md nidhinjs#38: deepseek-chat/reasoner added as a fresh retired-model
  example (count unchanged, 45).
- plugin.json/marketplace.json: DeepSeek V4 added to model list.

No new hook (model/mode pick is in-skill routing, not proactive injection).
Verified by clean-room behavioural test: 4 cases x 3 runs = 12/12 pass
(hard-math->pro/thinking, json->flash/non-thinking, tools->reasoning_content,
deep-research->thinking+retrieval+citation, no fabricated agent).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…1.19.1)

The v1.18.1 format fix was a soft MIDDLE-zone rule (Diagnostic Checklist +
readiness gate). It competed with "Fix silently" and Template N's structure
defaults and fired only ~2/3 — the bug reproduced live on a Grok deep-search
prompt. Promote it to a PRIMACY-zone Hard Rule and carve "fix silently".

- SKILL.md Hard rules: "Never ship a silently-derived output format for a
  research/report prompt or ANY Grok prompt — ask first or state an explicit
  'Assumed output format:' line." Overrides fix-silently + Template N defaults.
- SKILL.md Diagnostic preamble: carve-out — output format of a research/Grok
  prompt is never a silent fix.

Honest re-gate (corrected methodology: neutral framing, N=8 on the exact
real-world failing input, 8/8 bar): 8/8 pass (was 2/3). The prior "9/9"
clean-room result was inflated by coached framing + N=3.

Count unchanged (45). Note: installed plugins must be updated to receive this.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a Kimi/Moonshot profile (kimi-k2.6 / k2.7-code / k2.5 / moonshot-v1-*),
models.md section, Routing Index row, pattern nidhinjs#46 (reasoning + live web_search
conflict), Template N + Agentic-Fragments Kimi carve-out (Agent Swarm is
model-self-orchestrated, not topology-designed), SKILL.md Gotcha + no-CoT lists,
README / docs / plugin.json / marketplace.json. Facts live-verified
(platform.kimi.ai / api.moonshot.ai + HF cards); 2 lead-file claims corrected.
Clean-room T4 21/21; lint PASSED. Pattern count 45 -> 46.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Split into README.md (English, primary) + README.ru.md (Russian), cross-linked.
- Actualize counts: 14 templates (added M/N), 46 patterns, 6 safe techniques, 35+ profiles.
- Models across tables: Grok 4.3, DeepSeek V4 (pro/flash), Kimi (k2.6/k2.7-code/k2.5); Fable 5/Mythos 5 marked suspended.
- Add "Keeping it updated" section (third-party no auto-update, force-refresh, CLI vs Cowork separate stores).
- Add "Multi-Agent Prompts (opt-in)" section: native support by target (Grok multi-agent, Kimi Agent Swarm, Perplexity/Manus, Claude Code; DeepSeek none) + model-orchestrated vs you-design-it.

Docs-only; plugin version unchanged (1.20.0).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Live-verified via perplexity doc-server (2026-06-17). Perplexity is now two
surfaces: Agent API (/v1/agent, responses.create) — recommended default for new
apps, a multi-provider agent-loop gateway with presets/tools — and Sonar API
(sonar/sonar-pro/sonar-reasoning-pro/sonar-deep-research 128K). Split Perplexity
into its own tool-profile (was bundled with Manus); rewrote models.md section;
refreshed SKILL.md gotcha, Template N, README (EN+RU), docs/sources.md. Search
driven by user message; filters as request params; reasoning_effort enum left
verify; "Search as Code / Deep Research in Computer" flagged as blog concept,
not an API feature. Lead files (DResearch-Skill) used as leads only.

Clean-room T4 9/9; lint PASSED. Pattern count unchanged (46).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…se asset

Restores generation of a self-contained skill bundle as a release artifact:
- scripts/package-skill.ps1 builds dist/prompt-master-<version>.zip (SKILL.md +
  references/ at archive root — the Claude.ai "Upload a Skill" layout); -Upload
  attaches it to the GitHub release via `gh release upload`.
- dist/ added to .gitignore (artifact, not committed).
- The bundle is the reliable install path that BYPASSES the stale third-party
  marketplace cache (Claude Code / Cowork / claude.ai don't auto-refresh).
- docs/installation.md + README (EN/RU): point to the release bundle; fixed
  stale "35 patterns" -> 46 in installation.md.

The v1.21.0 release now carries prompt-master-1.21.0.zip.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New profile for AI presentation generators (gamma.app). Two surfaces:
App (Generate / Paste-in-text +\n---\n / Import; Advanced knobs Text Content
Minimal/Concise/Detailed, Image Source; editable Outline; Gamma Agent post-edit;
Theme=brand) + Generate API (POST /generations; numCards default 10;
textOptions.amount brief/medium/detailed/extensive API-only; cardSplit
inputTextBreaks; dimensions 16x9/4x3/fluid; themeId). Adds Template O (Deck
Brief), pattern nidhinjs#47 (deck w/o card count/structure/data), models.md ## Gamma,
SKILL gotcha, README (EN/RU) + docs/sources. Counts: 47 patterns, 15 templates.

Facts live-verified (verify-don't-trust); cookbook used as lead and corrected
(UI has no "Very Detailed"). Built via agent decomposition (A0 verify -> A1||A2
authoring -> A3 adversarial gate -> A4 clean-room 9/9). lint PASSED. Also fixed
stale README "Current release" (was v1.20.0).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
….23.0

Generalize the existing `Assumed output format` convention to all
settings-as-knobs profiles (Gamma, Perplexity, Grok, image-AI): the skill
now surfaces the knob defaults it assumed as an explicit, overridable
`Assumed settings:` note line — listing only knobs the user did not set,
each with its value + where to change it — without spending a clarifying
question. Skipped for prose tools with no knobs (DALL-E 3, Flux).

- SKILL.md: Hard rule + Diagnostic + Gotcha preamble generalized (net +0 lines)
- tool-profiles.md: Grok / Perplexity / Gamma / Image AI surface-knobs lines
- templates.md: Template I / K / N / O Assumed-settings notes
- patterns.md: new pattern nidhinjs#48 (count 47 -> 48 across 7 files)
- README EN+RU: pattern count 47->48 + rows nidhinjs#47/nidhinjs#48; Routing Index Gamma+
  Perplexity rows; profile header "50+ tools across 30+ profiles"
- Verified: lint 0/0, opus adversarial gate PASS, clean-room T4 12/12

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Actualize 10 existing tools (Midjourney V8.1 with --oref, GPT-image gpt-image-2,
SD 3.5, FLUX.2, SeeDream 5, Runway Gen-4.5/aleph2, Kling 3.0, LTX-2, Luma ray-3.2,
Sora sunset-flagged) and add 4 families: Google Nano Banana 2, Grok Imagine,
Seedance 2.0, Veo 3.1. New models.md Image/Video sections (last-verified 2026-07-01)
with a deprecation timeline; patterns nidhinjs#49-51; pattern count 48->51; 55+ tools.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 confirmed inconsistencies fixed across all layers: canonical no-CoT
list (single source in SKILL.md hard rules), hard-rule deadlocks
resolved, video-AI added to knob-tool lists, Comet routing tie-break,
Grok Voice dead-end closed, v1.24 profile facts re-synced with research
docs, install docs corrected. New guards: extended lint.ps1 (ToC sync,
cross-refs, no-CoT drift, knob lists), hook fixture tests, refresh
checklist; hook regex FP/FN fixes; bump-version/package-skill bugfixes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…26.0

CI workflow (hook tests + lint on push/PR); 12 behavioral golden
scenarios with headless runner (all green); Traits lines on 12 profiles
lint-checked against the canonical no-CoT list and knob enumeration;
last-verified staleness WARN (>60d); Fable 5 suspension fact reduced to
a single source in models.md; Gotchas cheat-sheet slimmed from
mini-profiles to one-liners with profile pointers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Patterns nidhinjs#52-55 (self-verification loop, attach-artifact, name-an-exemplar,
bounded review request; count 51->55); verification ladder + plan mode +
context hygiene + headless/scale + /code-review semantics in the Claude Code
profile; Template H Verification block; Template M Session Strategy update;
new Agentic Fragments (Review-request knobs, Spec-by-interview); Fable 5
redeployed 2026-07-01 (opt-in, Opus 4.8 stays default); golden scenario
claude-code-verify-loop; doc snapshots (code.claude.com, 2026-07-03).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…26.2

Голден-сценарий credentials-stripped ловил утечку: модель безопасно
отказывалась вставлять AWS-ключ, но цитировала его дословно, поясняя,
что это документированный placeholder. Правило запрещало креды только
в сгенерированном промпте — теперь и в окружающем объяснении.

Проверка: --only credentials-stripped → 1/1 PASS (sonnet).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Operationalizes the Fable field guide "Finding Your Unknowns" (Thariq/Anthropic)
as a conditional lens, not a process. nidhinjs#56: a taste-based or new-domain unknown
can't be drained by a clarifying question → route to a prototype-first mock or a
blindspot pass instead of a wasted question or a one-shot build. nidhinjs#57: long
agentic run → conservative option + log under "## Deviations" + continue,
stop-and-ask reserved for the irreversible. Adds a question-drainability check
(Intent Extraction), Template H Deviations block, Template M off-plan line, and
two Agentic Fragments (Prototype-first, Blindspot pass). Count 55→57.

Gates: lint 0/0 · clean-room T4 12/12 (incl. anti-bloat negative) · adversarial
gate 0 CONFIRMED · /code-review SHIP.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
azagreev and others added 23 commits July 8, 2026 17:49
Wave 1 of docs/REMEDIATION_PLAN_2026-07-13.md (F-2, F-7; prep for F-1):
- test-safe.js: add scripts/test-codex-agents.js to DEFAULT_CHECKS (16 -> 17)
- lint.js: require test-codex-agents.js wiring in source-contract test block
- test-portable-verification.js: strict-safe node-check count 16 -> 17
- ci.yml: trigger on tag push (v*) so lint validates tag == version;
  add package-dry job (pwsh package-skill.ps1 -DryRun); no claude plugin
  validate (D-1 owner decision still open)

Gate: node scripts/lint.js PASSED; node scripts/test-safe.js --strict
=> expected=17 executed=17 passed=17 failed=0 skipped=0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Wave 2 of docs/REMEDIATION_PLAN_2026-07-13.md (F-1):
- 2.1 inventory (read-only): all v1.8.0..v1.37.0 tags exist on origin and
  locally; the audit premise "release tags missing" is stale. Only real gap:
  CHANGELOG footer [1.31.1] is dangling (no tag, no release commit anywhere).
  Recorded in docs/release-evidence/tag-inventory-2026-07.md.
- 2.2/2.3 mass tag/release recreation NOT needed (tags present). The single
  v1.31.1 tag is left for the owner (target commit unrecoverable from history;
  remote push is out of scope).
- 2.4 process guard: REFRESH_CHECKLIST.md makes `bump-version.ps1 -Tag` plus
  `git push origin vX.Y.Z` mandatory release steps; lint.js warns locally when
  the current version has no matching git tag (fs-only, GITHUB_ACTIONS-gated;
  complements the existing tag==version error on tag push).

Gate: node scripts/lint.js PASSED; node scripts/test-safe.js --strict
=> expected=17 executed=17 passed=17 failed=0 skipped=0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Evidence summary for docs/REMEDIATION_PLAN_2026-07-13.md Waves 1-2
(commits 1589fa1, 0937b85): CI-gate wiring, tag trigger, package dry-run,
tag inventory, and mandatory-tag process guard. Gate: lint PASSED;
test-safe --strict expected=17 executed=17 passed=17 failed=0. Remote
operations only prepared, not executed; open owner decisions listed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
strict-safe failed on the windows-2025 runner: test-codex-agents.js
requires LF in .codex/*.toml, but *.toml was not covered by
.gitattributes (text=auto), so autocrlf checkout produced CRLF.
Index content is already LF; this pins working-tree EOL too.

First CI run of test-codex-agents.js (gated by this PR) caught the
latent issue - exactly the F-2 coverage gap this remediation closes.

Gate: lint PASSED; test-safe --strict 17/17/17.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@azagreev azagreev closed this Aug 5, 2026
@azagreev
azagreev deleted the chore/remediation-w1-w2 branch August 5, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant