Commit Graph

3 Commits

  • feat: Cursor-independent ECC memory via ECC_AGENT_DATA_HOME (#2066)
    * feat: auto-isolate ECC memory data for Cursor via ECC_AGENT_DATA_HOME
    
    Add ECC_AGENT_DATA_HOME (defaults to ~/.claude) with Cursor-aware resolution,
    sessionStart env injection, install scaffolds, and hook bootstrap so memory
    hooks do not collide with Claude Code when both harnesses are used.
    
    Closes #2065
    
    Co-authored-by: Cursor <cursoragent@cursor.com>
    
    * fix: log agent-data config errors and ship cursor sessionStart deps
    
    Address CodeRabbit review: log invalid .cursor/ecc-agent-data.json parse
    failures, and copy cursor-session-env.js plus lib deps on legacy Cursor
    install so sessionStart hook path exists without hooks-runtime alone.
    
    Co-authored-by: Cursor <cursoragent@cursor.com>
    
    * fix: resolve relative agentDataHome paths from project root
    
    Project config values like ".ecc-data" now resolve against the
    repository root (parent of .cursor/), not process.cwd(), so Cursor
    hooks persist memory in the intended directory regardless of hook cwd.
    
    Addresses cubic review on PR #2066.
    
    Co-authored-by: Cursor <cursoragent@cursor.com>
    
    * docs: explain getHomeDir duplicate and docstring policy
    
    Document why agent-data-home keeps a local home-dir helper (circular
    require with utils.js) and list consolidation options for maintainers.
    Note that CodeRabbit JSDoc coverage warnings are informational relative
    to ECC's usual script documentation style.
    
    Addresses cubic P2 context on PR #2066.
    
    Co-authored-by: Cursor <cursoragent@cursor.com>
    
    * test: isolate agent-data-home tests from dogfooded .cursor config
    
    Use isolated temp cwd for default-resolution cases and assert
    resolveAgentDataHome({ projectDir }) reads ecc-agent-data.json.
    Document cwd/project caveats in the test file header.
    
    Co-authored-by: Cursor <cursoragent@cursor.com>
    
    ---------
    
    Co-authored-by: Cursor <cursoragent@cursor.com>
  • chore(config): governance and config foundation (#292)
    * chore(config): governance and config foundation (PR #272 split 1/6)
    
    Add repository governance and configuration files:
    - CODEOWNERS: review authority model
    - ISSUE_TEMPLATE: Copilot task template
    - PULL_REQUEST_TEMPLATE: comprehensive review checklist
    - .env.example: environment variable documentation
    - .tool-versions: asdf/mise compatibility (Node 20, Python 3.12)
    - .gitignore: expanded coverage (build, test, Python, tmp)
    - .markdownlint.json: add MD009 trailing whitespace rule
    - VERSION: 0.1.0
    
    This is PR 1 of 6 from the PR #272 decomposition plan.
    Dependency chain: PR-1 → PR-2 → PR-3 → PR-4/5/6 (parallel)
    
    * chore(config): remove fork-specific CODEOWNERS from upstream PR
    
    CODEOWNERS references @alfraido86-jpg (fork owner). Submitting this to
    upstream would override @affaan-m's review authority. CODEOWNERS belongs
    in the fork only, not in upstream contributions.
    
    Ref: SAM finding F9 (run-048 audit)
    
    * chore: address CodeRabbit review feedback on PR #292
    
    - Scope markdownlint config to repo files (globs pattern)
    - Add pre-commit hook checkbox to PR template
    
    Ref: CodeRabbit review on PR #292
    
    * fix(config): address CodeRabbit nitpicks N2 and N3
    
    N2: Move pre-commit hooks checkbox higher in security checklist.
    N3: Replace global MD009 disable with scoped config (br_spaces: 2).
    
    * fix(config): use recursive glob for node_modules exclusion (N4)