Commit Graph
77 Commits
Author SHA1 Message Date
affaan-m b150db1bb4 Merge reviewed PR2444 localization workflow into maintained batch
Preserve prior agent/docs/package changes; bind actual 293-skill registry.

Source-PR: https://github.com/affaan-m/ECC/pull/2444
2026-09-28 04:58:29 -04:00
affaan-m a0444eb8a6 feat(skills): add scoped JSON locale synchronization workflow
Preserve contributor history while applying the exact reviewed current-main repair.

Source-PR: https://github.com/affaan-m/ECC/pull/2444
Source-Parent: 21cb5e733f
Integration-Main: d3b8a3e908
Review-Manifest-SHA256: 4f76d01c75de844ab771a3d03e12e840565e73c6d8daa09ca7a1c0d3841e3607
2026-09-28 04:48:51 -04:00
affaan-m a7a1d8c2d8 Merge reviewed locale metadata alignment with canonical GAN capabilities
Source-PR: https://github.com/affaan-m/ECC/pull/2879
Source-Head: cc9914ce77
Composition: match the already reviewed canonical resize/key permissions in Japanese and Chinese metadata.
2026-09-28 03:55:49 -04:00
affaan-m cc9914ce77 Merge main and align translated agent metadata
Preserve translated prose and the contributor regression suite while matching
canonical models and tools, including current GAN evaluator capabilities.
2026-09-28 03:18:19 -04:00
affaan-m aa233efd3a Merge reviewed contributor PR #3013 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3013
Source-Head: 72c7ca5387

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:50 -04:00
affaan-m 72c7ca5387 Merge current main into PR #3013, preserving reviewed contribution 2026-09-27 20:26:27 -04:00
affaan-m 7eb1e32ae0 merge: preserve Turkish guide link fixes with reviewed main 2026-09-27 20:16:02 -04:00
Dante 7371f035da merge: reconcile Polish locale with current main 2026-09-22 12:23:52 +08:00
111387afe4 docs: fix dead MCP overview link in shortform guide (#3190)
The Claude Code docs page at code.claude.com/docs/en/mcp-overview no
longer exists (404). The current MCP page is
https://code.claude.com/docs/en/mcp ("Connect Claude Code to tools via
MCP"). Update the link in the English, zh-CN, and tr versions of the
shortform guide.

Co-authored-by: kuishou68 <kuishou68@users.noreply.github.com>
2026-09-20 14:26:46 -04:00
Affaan MustafaandGitHub 91ba9b4cf6 Merge pull request #3133 from affaan-m/release/ecc-universal-2.2.2
release: ecc-universal 2.2.2
2026-09-19 16:41:20 -04:00
Affaan Mustafa 07e6b42e5c docs: use fenced code blocks in agent rules to satisfy MD046 2026-09-18 21:53:44 -04:00
Affaan Mustafa c7e60cc6a6 Merge remote-tracking branch 'origin/main' into pr-3146
# Conflicts:
#	docs/es/rules/common/agents.md
#	docs/ja-JP/rules/common/agents.md
#	docs/tr/rules/common/agents.md
#	docs/zh-CN/rules/common/agents.md
#	rules/common/agents.md
2026-09-18 21:47:13 -04:00
Sharad. 6e024eb881 docs(rules): fix ECC plugin agent location and ecc: prefix 2026-09-18 00:19:40 +05:30
yashraj4 e404468a62 fix: correct agent location and add ecc: prefix to agent names in rules
- rules/common/agents.md: Fix incorrect location (was ~/.claude/agents/, now explains plugin ships with ecc@ecc)
- Add ecc: prefix to all agent names in tables and orchestration sections
- Update all 4 translated copies (es, ja-JP, zh-CN, tr) with same fixes
- Update root AGENTS.md with ecc: prefix for consistency

Fixes #3143
2026-09-16 23:07:27 +05:30
Affaan Mustafa e65f12bf7e release: ecc-universal 2.2.2 2026-09-15 14:22:02 -04:00
Dante 3e72db8aa5 docs(i18n): add Polish localization scout
Signed-off-by: Dante <duanjl.china@gmail.com>
2026-09-14 16:08:45 +08:00
Rockwell Windsor RiceandGitHub 95b9fe157f feat(rails-patterns): add Rails framework patterns skill (#3074)
Adds skills/rails-patterns alongside laravel-patterns and django-patterns: directory contract, skinny controllers with service objects, form and query objects, idiomatic ActiveRecord, background jobs, ViewComponent, Hotwire, and the Rails 8 Solid stack. Decisions defer to rules/ruby/patterns.md. Registered in install-modules (framework-language), agent.yaml, package files, and every skill count (292) across plugin, marketplace, AGENTS and README variants. Independent exact-head review passed with no P0/P1; validate-skills, catalog:check, install manifests, plugin manifest, unicode and personal-path checks all pass; CI 44/44 at the head.
2026-09-12 01:48:16 +01:00
928c1dea72 feat(tasteforge): package reusable workflows and preserve native edits (#3033)
* feat: bundle standalone taste distillation and application workflows

* docs: fix imported taste skill markdown lint

* docs: align Turkish agent catalog with taste skills

* refactor: make ECC the canonical reusable video engine

* fix: preserve video duration when applying image overlays

* fix: preserve background colors in image compositing

* fix: report best-effort duration targets and shortfalls

* feat: ship verified Fusion presets with compatibility provenance

* feat(tasteforge): preserve native edits in application bundles

* feat(tasteforge): compile local preservation without hosted input

* fix: update js-yaml to patched 4.3.2

* test: report bounded Stop wrapper failure diagnostics

* fix(tasteforge): fail closed on unsafe output names, missing overlays and cadence

- cli: default report and spec paths are derived from pack name and profile
  genre; require the manifest's name pattern before using either as a
  filename part so a traversal string cannot write outside cwd/out.
- apply_local: a pack without cadence.json, or with no measured shots and
  no explicit mean_shot, raises instead of silently planning 1.0s shots and
  reporting a measured cadence.
- legacy apply: a missing overlay aborts before any paid upload; forge()
  would have rejected it after every take was generated.
- requirements-live: pin fal-client>=0.13.0, the first release whose
  subscribe() accepts client_timeout.

Addresses the five P1 findings from the independent review of #3033.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015fxHRsydPqEcYngGbqkgt1

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 15:31:36 +01:00
f8640355e4 Consolidate recovered eval framework and operator workflows (#3040)
* feat: consolidate offline eval and operator workflows

Compose the retained framework, operator skill, roadmap and cleanup ranges on current main. Preserve current release dependencies and keep candidate execution disabled pending OS containment. Repair draft/DOCX behavior, obligation uniqueness, trusted send and audience guidance, runner provenance and eval diagnostics.

Source-PR: 2930 0abe3727d2b500c6e4830bdeb47ed67cae3f4785
Source-PR: 2931 992b49c44ed872def49675b791168b8fcd091df6
Source-PR: 2932 4a193dd13041cb7a6bebf4d2e910a0cd32bcc797
Source-PR: 2933 59cdfe500a91949ba1415f1edd7279620f21e804
Source-Base: ca185ef5f7

* fix: repair foundation CI and update js-yaml

* fix: reconcile pending-delete capsule locks after close

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 13:20:52 +01:00
cnYui e39eeb7447 fix(docs): correct broken asset paths in Turkish guides
The Turkish translations of the longform, security, and shortform guides
linked images with `../assets/...`, which resolves to a non-existent
`docs/assets/` directory, so every embedded image rendered as broken.

Assets live at the repository root (`assets/`), so from `docs/tr/` the
correct relative prefix is `../../assets/`. This matches the canonical
root guides (`./assets/`) and the Spanish (`docs/es/`) and Simplified
Chinese (`docs/zh-CN/`) translations, which already use `../../assets/`.

Fixes 26 image/asset links across the three guides.
2026-09-08 06:13:56 +09:00
haelyraandGitHub ca185ef5f7 chore(release): prepare signed 2.2.1 patch (#2920) 2026-08-31 18:14:22 -04:00
haelyraandGitHub 005eff40fd fix(install): harden universal setup release path (#2888)
* fix(install): harden universal setup release path

* docs(adal): use ecc-universal doctor command
2026-08-30 18:54:00 -04:00
haelyraandGitHub 9ff6949798 Merge pull request #2351 from vladyslavTezyk/main
Add ukranian translation of the main Readme.
2026-08-28 21:59:45 -04:00
haelyraandGitHub 96c4dc4a74 Merge pull request #2871 from actus7/consolidate/docs-v3
docs: consolidate documentation improvements (3 PRs)
2026-08-28 17:50:16 -04:00
Nguyen Thanh Dat 3afd97b4aa fix(docs): stop translated agent docs from contradicting the shipped agent
`scripts/ci/validate-agents.js` reads only `agents/`, so the translated copies
under `docs/<locale>/agents/` were never validated against the agent they
describe — and drifted.

Two kinds of drift, both machine-checkable and both wrong in the same
direction (the translations were made from an older revision and never
re-synced):

- **Model tier, 39 files.** Every one names a costlier tier than ships:
  haiku -> sonnet, sonnet -> opus. `security-reviewer` reads `opus` in ja-JP
  and zh-TW; it ships `sonnet`.
- **Tool set, 15 files.** `security-reviewer` and `database-reviewer` list
  `Write` and `Edit` in **all seven locales** — both agents ship read-only
  (`Read, Grep, Glob, Bash`). `seo-specialist` in zh-CN adds a `Bash` the
  canonical agent does not have. Documenting a reviewer as able to write is
  the kind of inaccuracy someone auditing what these agents can touch would
  act on.

Sync `model` and the `tools` set to canonical, preserving each locale's
existing list style so the diff is only the values that were wrong. The
`["a", "b"]` vs `a, b` formatting difference is left alone: it is consistent
per locale and carries no meaning.

Add `tests/ci/locale-agent-frontmatter.test.js` so this cannot drift back.
`tools` is compared as a set, not a string, so the style difference stays
legal; prose is not compared at all. The last case pins the specific failure:
a canonical read-only agent may never be documented with Write or Edit.

`.kiro/agents/` is deliberately excluded — it uses a different schema
(`allowedTools: [read, shell]`, no `model`), not a translation of this one.
2026-08-25 17:39:43 +07:00
Bechor SimhaevandAlex Schmitt ea2ec0d249 fix(commands): use allowed-tools, not allowed_tools
Nine command files spell the key with an underscore while six other files in
this repository already use `allowed-tools`. Claude Code reads the hyphenated
form, so the underscored key is unrecognized and the tool pre-approval it is
meant to grant never applies.
2026-08-24 22:27:40 -03:00
Phumchai TanonsiandAlex Schmitt 774d64f51b docs: clarify model-generation reference in learn-eval rationale
The design rationale cited "Opus 4.6+" as the class of models capable of
holistic checklist judgment. That reference predates the Claude 5 families
(Opus 5, Sonnet 5, Fable 5), so readers on current models can't tell whether
the guidance still applies to them.

Widens the parenthetical to name the Claude 5 families explicitly. Applied
across all four locale copies (en, ja-JP, tr, zh-CN) to keep translations in
sync. Documentation wording only; no behavioral change.
2026-08-24 22:26:32 -03:00
affaan 9c450046be feat(skills): add tasteforge-video skill for repeatable taste-driven video work
Curated skill delegating to the canonical tasteforge package in
Ito-Markets/ito-video: taste interviews, style-pack validation, offline
distillation with measured grounding, deterministic cadence application to
local footage, EDL/FCPXML export, and generated-media provenance audits.
Provider (Fal) generation requires explicit separately authorized execution
and fails closed in ECC; local references never mean a saved provider
workflow. Registered in the opt-in media-generation install module, npm
files, and catalog counts via scripts/ci/catalog.js. Contract tests cover
frontmatter/triggers, the fail-closed boundary, manifest and npm-packed
discoverability (real tarball check opt-in via ECC_TEST_NPM_PACK=1).
2026-08-18 12:04:33 +00:00
Affaan Mustafa 9ba25b9360 fix: harden Nasiko artifact lifecycle 2026-08-15 02:22:29 -04:00
1db5c8ab4a fix(install): harden ECC installer lifecycle
Make Antigravity 2.0 installs native and safely migrate legacy state. Ensure doctor, repair, status projection, repeat installs, legacy Codex sync, and uninstall converge without losing user files. Exclude Python bytecode and harden repo-scan bootstrap guidance.

Gate publishing and pull-request merges on one exact packed artifact completing install, repeat, drift, repair, status, and uninstall across Linux, macOS, and Windows.

Co-authored-by: lorencifernando-coder <lorenci.fernando@gmail.com>

Co-authored-by: Suliman Abdulrazzaq <suliman9000a@gmail.com>

Co-authored-by: Wu Shuwen <mikewushuwen@outlook.com>
2026-08-13 16:42:51 -04:00
Affaan MustafaGitHubCodeRabbitcoderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
fc1d11839c feat(skills): consolidate Itô market skills into ito-baskets; align ito-training fail-closed contract (#2770)
* feat(skills): consolidate Itô market skills into ito-baskets; align ito-training fail-closed contract

- Replace ito-basket-compare, ito-market-intelligence, ito-data-atlas-agent,
  and ito-trade-planner with one read-only ito-baskets skill (index, compare,
  brief, worksheet modes) preserving every non-advisory, provenance,
  freshness, and recovery contract
- Extend the GET-only client with anonymous basket-index/basket-detail
  commands that validate the ito.public_basket_read.v1 contract and never
  transmit a credential to public routes
- Rewrite ito-training to the same fail-closed availability-check structure
  as ito-inference: pre-spawn rejection, server-verified booking entitlement,
  opaque confirmation-ref, manifest digest binding, idempotent lifecycle
- Update install module, npm files, README/docs catalog counts (287 -> 284),
  and add consolidated contract tests

* test: anchor Itô API origin assertion (CodeQL js/regex/missing-regexp-anchor)

* test: avoid URL-literal substring assertion (CodeQL js/incomplete-url-substring-sanitization)

* fix: apply CodeRabbit auto-fixes

Fixed 1 file(s) based on 1 unresolved review comment.

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
2026-08-12 15:52:26 -04:00
Vladyslav Tezyk e7533efabf fix(locale): rename ua-UA to canonical uk-UA and wire installer manifests
- Rename the Ukrainian locale identifier from ua-UA/ua to uk-UA,
  with uk kept as a short alias
- Update directory (docs/ua-UA -> docs/uk-UA), README links, and
  all component/module IDs accordingly
- Add locale:uk-ua entry to install-components.json, replacing the
  orphaned locale:ua entry that had no matching component
- Add docs-uk-ua entry to install-modules.json, pointing to
  docs/uk-UA

Fixes "Unknown install component" error triggered by the previous
locale:ua entry.
2026-08-12 09:25:40 +02:00
Vladyslav Tezyk 75fb8a697d Merge remote-tracking branch 'upstream/main' 2026-08-12 09:03:00 +02:00
haelyraandGitHub 569b1d5b32 fix: disable Claude co-author attribution by default (#2758)
* fix: disable Claude co-author attribution by default

* fix: harden default co-author opt-out and correct the docs

Follow-up on the co-author default in this PR.

- Remove the existsSync/writeFileSync race in the installer settings write
  (CodeQL js/file-system-race, high). A single guarded read now covers the
  fresh-install case, and unreadable or non-object settings are left untouched.
- Respect `attribution` as an explicit user choice. It supersedes
  `includeCoAuthoredBy` in Claude Code 2.1.x, so a user who configured it would
  otherwise have had a dead key written into their settings.
- Share one opt-out rule via scripts/lib/claude-commit-attribution.js instead of
  duplicating it across the installer and plugin setup.
- Update the git-workflow rule and its nine mirrors and translations, which
  still told users ECC does not ship this setting.

We keep writing the deprecated `includeCoAuthoredBy` key rather than
`attribution`: unknown keys fail Claude Code settings validation, so writing
`attribution` would break users on older versions.
2026-08-12 00:43:58 -04:00
fd1b11cfc7 docs: refresh model-selection guidance to the Claude 5 families (#2723)
Model-routing guidance across the rules, skills, and harness-steering docs
still recommends Sonnet 4.6 / Opus 4.5-4.6 by name. Readers on the current
generation have to map those onto Sonnet 5 / Opus 5 themselves, and the
recommendation reads as pinned to a superseded generation.

Renames the recommended models in guidance tables and updates two pinned
model IDs in code samples:

- rules/steering guidance: .cursor, .kiro, and the seven translated
  performance.md copies (ja-JP, zh-CN, zh-TW, ko-KR, pt-BR, es, tr)
- skills/prompt-optimizer complexity-routing table (+ zh-CN copy)
- skills/cost-aware-llm-pipeline MODEL_SONNET constant (+ zh-CN, ja-JP)
- docs/examples project-guidelines template, which pinned the invalid ID
  claude-sonnet-4-5-20250514 (+ zh-TW, ja-JP copies)

Deliberately left alone:

- The "Pricing Reference (2025-2026)" table in cost-aware-llm-pipeline.
  Renaming those rows while keeping the existing per-token figures would
  assert Claude 5 pricing this change has not verified.
- Executable model config (.opencode/opencode.json, agent.yaml). Those pins
  change real agent behavior and belong in their own reviewed change.
- Historical and illustrative references: the-shortform-guide session
  transcripts, the ECC-PRO roadmap log entry, gan-style-harness's
  "Opus 4.5-class"/"Opus 4.6-class" capability tiers, and
  strategic-compact's deliberately generic "400k Opus 4.x" example.
- docs/ATLAS-CLOUD-GUIDE.md, which lists a third-party provider's catalog.

Documentation wording only; no behavioral change.

Co-authored-by: Phumchai Tanonsi <274848436+phumchai1515-prog@users.noreply.github.com>
2026-08-11 19:36:48 -04:00
5a2453e167 feat: add council-multi-model skill (heterogeneous Codex review) (#2281)
* feat: add council-multi-model skill (heterogeneous Codex review)

Rebased onto latest main to resolve the merge conflict (the branch had gone
DIRTY as main advanced). Trimmed to just the skill files (no top-level
README/AGENTS edits), mirroring the merged #2381. Previously reviewed
favorably by greptile/coderabbit/daltino.

* feat: add Entry B (independent parallel propose + aggregate, MoA-style) alongside Entry A (review)

Splits the skill into two entries depending on what already exists:
Entry A (unchanged) reviews an existing draft. New Entry B has every
voice (Claude x3 + Codex if available) answer the same question fully
independently and in parallel, then aggregates without collapsing
disagreement or blending incompatible approaches into one hybrid.
For the heaviest decisions the two chain: B first, then A's review
step on the aggregation -- with an explicit honesty caveat when Codex
already proposed in B and so cannot independently judge the result.

* feat: prefer Codex MCP tool over the SDK script when available

mcp__codex__codex is now the primary path for both Entry A's
heterogeneous review and Entry B's independent proposal -- zero relay,
talks directly to OpenAI's backend, no temp file or shell escaping
needed. The openai-codex SDK script becomes the fallback for sessions
without that MCP tool configured; behavior and guardrails (read-only,
verbatim quoting, explicit 'absent' labeling) are unchanged.

* fix: register council-multi-model install path

* docs: sync skill catalog count

* fix: publish council-multi-model skill

* fix: harden council multi-model fallback

* docs: sync remaining skill count

* fix: narrow multi-model council to bounded review

* fix: address council adapter review feedback

* fix(council-multi-model): enforce tool-less Codex review

* fix(council-multi-model): close Codex tool boundary

---------

Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>
2026-08-11 16:30:04 -04:00
e990c0c7ed feat(skills): add dev-team skill — multi-persona collaborative session (#2309)
* feat(skills): add dev-team skill — multi-persona collaborative session

Adds skills/dev-team/SKILL.md, a community skill inspired by the
BMAD Method's "party mode": PM, Architect, Developer, and QA respond
to the same topic in parallel, then a synthesis step names tensions
explicitly instead of averaging them.

Reads PROJECT-CONTEXT.md from the repo root when present, and offers
to generate it when missing, folding in the closed project-context
skill's (#2310) generation workflow per affaan-m's review — that
skill's premise (every agent reads the file) wasn't implemented
anywhere, so the capability now lives directly in the one skill that
actually reads it.

Rebuilt on current upstream/main as a skill-only diff: the shared
format-code.ts Windows fix and github-coordination branch-coverage
tests that were previously bundled here (and duplicated across the
story-lifecycle and project-context sibling PRs) now live in #2459.

* fix(manifests): register dev-team skill in workflow-quality install module

* fix(docs): repair README lint errors and Windows hook-install path regression

Fixes CI inherited from the README 2.1 restructure (19b05476):
- MD058: blank lines around tables (delegation map, Codex role configs)
- MD001: Option A/B headings under Ecosystem Tools h2 jump to h4
- MD024: duplicate 'What's included' headings (Codex, Copilot sections)
- restore %USERPROFILE%\\.claude escaping required by
  tests/scripts/manual-hook-install-docs.test.js

* feat(skills): address review — trust boundary, harness-neutral I/O, contract test

Address maintainer review on #2309:
- untrusted-context boundary now travels with every persona prompt:
  inline label on the context section, personas marked analysis-only
  with no state-changing tool use
- personas receive a bounded declarative summary (≤150 words, fixed
  fields, secrets and imperative content stripped) — never the raw
  PROJECT-CONTEXT.md
- context loading uses harness-native file tools; POSIX-only
  'test -f && cat' removed
- all references resolve on main: story-lifecycle follow-up replaced
  with /plan and epic-* commands, ecc:plan-prd corrected to the
  /plan-prd command; boundary vs team-builder and council made explicit
- added tests/docs/dev-team-skill.test.js contract test (roles,
  parallel dispatch, synthesis guardrails, trust boundary, registration)

* docs: refresh Turkish skill count

* ci: retrigger checks (flaky stop-hooks-stdout timeout on macos node20 npm cell)

---------

Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>
2026-08-11 12:17:03 -04:00
0e0df5a6e7 feat(agents): add rag-pipeline-reviewer agent (#2446)
* feat(agents): add rag-pipeline-reviewer agent

* fix: correct model field syntax

* fix: address review feedback - add prompt defense baseline, fix context_recall gap, register in AGENTS.md

* chore: update agent count to 68, add trailing newline

* chore: fix agent count consistency in project structure section

* fix: sync Turkish agent catalog count

---------

Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>
2026-08-10 22:08:48 -04:00
3d4ef3184b fix(quarkus-verification): modernize stale CI references (ZAP image + GitHub Actions v4) (#2424)
* fix(quarkus-verification): use current ghcr.io/zaproxy/zaproxy:stable image

The owasp/zap2docker-* images are deprecated (ZAP left the OWASP org). The
current canonical image published by the ZAP project is
ghcr.io/zaproxy/zaproxy:stable; the packaged scan scripts (zap-api-scan.py)
are unchanged.

Applies to the source skill and the ja-JP, tr translated copies.

Refs: https://www.zaproxy.org/docs/docker/about/

* chore(quarkus-verification): bump GitHub Actions v3 -> v4

actions/checkout, actions/setup-java, actions/cache and codecov/codecov-action
were pinned at v3 (which runs on the deprecated Node 16 runtime). Bump to v4.

Applies to the source skill and the ja-JP, tr translated copies.

* docs(quarkus): finish current CI example refresh

---------

Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>
2026-08-10 19:31:55 -04:00
Seekers2001andGitHub bed96afa42 Add living-docs-governance skill (maintain-phase project doc system) (#2277)
* feat: add living-docs-governance skill (maintain-phase project doc system)

Rebased onto latest main to resolve the merge conflict (the branch had gone
DIRTY as main advanced). Trimmed to just the skill file (no top-level
README/AGENTS edits), mirroring the merged #2381. Previously approved by
@powershello before this rebase.

* fix: register living-docs-governance install path

* docs: sync skill catalog count

* fix: publish living-docs-governance skill

* fix: adopt existing docs before adding governance files
2026-08-10 17:10:01 -04:00
Affaan MustafaandGitHub f16a6ff2a6 fix: ship new Itô skills through install manifests (#2704)
* fix: ship new Ito skills through install manifests

* ci: audit shipped dependencies separately from tooling

* test(release): pass previous version to heading helper
2026-08-07 14:14:21 -04:00
52a3babd5d feat(skills): add secure terminal opener (#2650)
* test(skills): define terminal opener contract

* feat(skills): add secure terminal opener

* fix(skills): report detached terminal errors

* docs: sync terminal opener skill count

* fix(security): require explicit terminal launch

* test(skills): cover terminal opener review findings

* fix(skills): bound terminal launch waits

* test(skills): cover terminal fallback output

* fix(skills): report terminal mux fallback

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 17:24:34 -04:00
28e53a0bc1 feat(install): add guided multi-harness installer (#2649)
* feat(install): add guided Claude plugin setup

* fix: support Claude command shims on Windows

* feat: support safe Claude plugin scope migration

* fix(install): preserve interactive setup terminal

* fix(install): auto-migrate setup scope changes

* feat(install): add guided multi-harness installer

* fix(install): sync Yarn binary metadata

* fix(install): handle wizard EOF on Node 18

* ci: allow installer matrix tests to finish

* test(install): allow slower PowerShell delegation

* fix(install): harden guided provider reconciliation

* test(install): harden packaged and local compatibility

* chore: prepare guided installer release 2.2.0

* fix(install): report refreshed Codex marketplace state

* fix(install): verify managed content provenance

* test(install): allow empty Yarn smoke fixture

* test(install): invoke Windows package shims safely

* fix(install): close cross-platform release gaps

* fix(install): require trusted GitHub origins

* fix(install): preserve hook profile precedence

* refactor(install): centralize trusted GitHub origins

* ci: retrigger workflow run after merge of main

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

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 15:39:49 -04:00
Affaan Mustafa 6f452d48d2 chore: bump plugin version to 2.1.0 2026-07-27 14:05:24 -04:00
754b8dd76c fix: make the installer runtime pass strict supply-chain vetting (#2503)
* fix: make the installer runtime pass strict supply-chain vetting

Remediate the four enterprise supply-chain vetting blockers from
affaan-m/ECC#2502 so the installer runtime (package.json + manifests +
scripts/lib/**) passes strict exact-pin evidence policy:

1. Remove the package.json `postinstall` lifecycle script (it only echoed a
   post-install banner) and move that banner to an explicit opt-in
   `npm run welcome` command. No install-time lifecycle script remains.
2. Exact-pin every dependency in package.json (dependencies + devDependencies)
   to the versions already resolved in package-lock.json; no ^/~ ranges.
3. Replace non-ASCII characters on the installer runtime script/config surface:
   em-dashes (U+2014) in scripts/lib/{path-safety,install-executor,
   install/link-rewrite}.js comments and the two "Itô" (U+00F4) occurrences in
   manifests/{install-components,install-modules}.json descriptions become
   ASCII, so strict-surface Unicode scanners are clean.
4. Drop the bare `require("ajv")` from scripts/lib/install-state.js; the file
   already carries a complete hand-rolled validator enforcing the same
   schemas/install-state.schema.json (ecc.install.v1) constraints, so the
   installer closure is dependency-free (zero non-builtin bare requires).

Refs affaan-m/ECC#2502

* fix: avoid unpinned welcome invocations

Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>

* fix: validate translated skill frontmatter

Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>

* fix: repair skill frontmatter YAML

Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>

* fix: add MIT license to core skill manifests; pin verification-loop tsc invocation

* fix: preserve tsc/pyright exit status in verification-loop type-check (set -o pipefail)

* chore(deps): sync lockfiles with exact-pinned package.json

Regenerate package-lock.json and yarn.lock so the pinned dependency
specs are reflected in both lockfiles. npm ci and Yarn's --immutable
install now pass the sync check. The resolution tree is unchanged
(231 yarn resolutions, byte-identical set; zero npm transitive drift);
only the root descriptor strings move from ranges to the versions
already resolved in the committed lockfiles.

Addresses the Codex P1 on #2503.

---------

Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>
Co-authored-by: Samarjeet Singh Tomar <samartomar@gmail.com>
2026-07-17 17:13:49 -04:00
devin-ai-integration[bot]GitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>affaanDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>Affaan Mustafa
2d40baacbd fix: resolve open-issue cluster (#2295, #2298, #2303–#2306, #2340) + createdTime fallback bug (#2408)
* fix: resolve issue cluster (#2295,#2298,#2303,#2304,#2305,#2306,#2340) + createdTime fallback bug

- session-manager: fix createdTime birthtime||ctime fallback that never fired
  (a Date is always truthy); use birthtimeMs>0 check via resolveCreatedTime()
- installer: rewrite source-relative rules/skills links for the injected
  ecc/ namespace so installed skills resolve correctly (#2340)
- continuous-learning-v2: drop unused mock import (#2305); standardize bash
  shebangs (#2303); poll for PID file instead of fixed sleep (#2295);
  rename _ecc_* -> _clv2_* (#2304); align promotion confidence docs (#2298);
  de-brittle Scope Decision Guide cross-reference (#2306)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(ci): resync lockfiles with package.json (eslint 10) + migrate yarn.lock to Yarn 4 format

package.json requires eslint@^10.6.0 but the committed locks pinned 9.39.2, so
npm ci aborted and Yarn 4 hardened mode rejected the stale v1-classic yarn.lock
(YN0028). Regenerate package-lock.json and rewrite yarn.lock in Yarn 4 (berry)
format so npm ci and immutable yarn installs both pass.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(ci): require clean probe exit for Windows shell/bash detection; add pyyaml dev dep

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(observer): portable mktemp template on BSD/macOS (#2417); correct false attribution-disabled claim in git-workflow docs (#2426) (#2430)

Co-authored-by: affaan <affaan@itomarkets.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix: remove duplicate resolveCreatedTime introduced by merge (no-redeclare)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix: restore heading-based Scope Decision Guide ref (line numbers drift) + keep behavioral #2340 install test

---------

Co-authored-by: affaan <affaan@itomarkets.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Affaan Mustafa <me@affaanmustafa.com>
2026-07-03 21:10:45 -07:00
28winz-botandGitHub fb37c23c84 fix(golang-patterns): replace removed govet check-shadowing with enable: [shadow] (#2423)
golangci-lint deprecated the govet `check-shadowing` setting in v1.57.0 and
later removed it; a config using it now errors. The current v1-format way to
enable the shadow analyzer is `govet.enable: [shadow]`.

Applies to the source skill and the ja-JP, zh-CN, zh-TW, ko-KR, tr translated
copies.

Refs: https://golangci-lint.run/docs/product/migration-guide/
2026-07-03 20:36:50 -07:00
devin-ai-integration[bot]GitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>affaanDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
3af4676e99 refactor: consolidate duplicated hook-root resolver into shared resolveEccRoot() (#2368) (#2410)
* fix(ci): resync lockfiles with package.json (eslint 10) + migrate yarn.lock to Yarn 4 format

package.json requires eslint@^10.6.0 but the committed locks pinned 9.39.2, so
npm ci aborted and Yarn 4 hardened mode rejected the stale v1-classic yarn.lock
(YN0028). Regenerate package-lock.json and rewrite yarn.lock in Yarn 4 (berry)
format so npm ci and immutable yarn installs both pass.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(ci): require clean probe exit for Windows shell/bash detection; add pyyaml dev dep

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* refactor: consolidate duplicated hook-root resolver into shared resolveEccRoot() (#2368)

The inline node -e resolver blob was duplicated ~60x across hooks.json,
command docs, and translations. Each copy inlined the full ~700-char
plugin-root search using a spread over nested array literals
(p.join(d,'plugins',...s) over [['ecc'],...]), which breaks Windows hook
execution due to shell quoting (#2368).

Collapse every copy to a 250-char locator that loads the committed
resolve-ecc-root module and delegates to resolveEccRoot() — no spread, no
nested array literals, no escaped double quotes. The real search logic now
lives in one tested module. Also route session-start-bootstrap.js through
resolveEccRoot() instead of its own duplicated reimplementation, and fix
the auto-update.md 'marketplace' (singular) typo along the way.

Guard tests updated: discovery behavior is asserted against resolveEccRoot();
the inline is asserted to delegate and to contain no Windows-fragile
constructs.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(resolve-ecc-root): restore full env-unset discovery in inline resolver

Address Greptile review on #2410: when CLAUDE_PLUGIN_ROOT is unset the
delegating inline could only load the resolver module from ~/.claude,
returning ~/.claude without ever reaching the plugin/cache search. Restore
the old inline's discovery breadth (exact plugin roots + versioned cache)
Windows-safely (no spread, nested arrays, or escaped quotes), then delegate
the authoritative decision to resolveEccRoot(). Add regression tests for
plugin-subdir and versioned-cache bootstrap with env unset.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

---------

Co-authored-by: affaan <affaan@itomarkets.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-03 20:01:17 -07:00
Vladyslav Tezyk 638456c7ca docs(ua):
- add ukrainian translation of README.md
- share ua doc link through all concerned readmes
2026-06-24 14:34:20 +02:00
ECC Test 29edd57708 release: 2.0.0 — the agent harness operating system
Graduate 2.0.0-rc.1 to stable. Bump version across package, plugin,
marketplace, OpenCode, agent metadata, VERSION, and all localized docs.
Add 2.0.0 release notes + README sections (en/zh/pt-BR/tr), CHANGELOG
entry, and the ECC community Discord bot (dependency-free gateway client
+ guild command registrar). Update copilot-support and release-surface
tests for the sponsored-review migration and the 2.0.0 surface.
2026-06-09 21:40:40 -04:00