ace-support-core 0.29.11 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34f2b35cb1f2ed86e4c9f20fcb025c11f9497a795e7125482d103679d661de12
4
- data.tar.gz: ceeab35abee59c794fea8dc256b71d0d1537f15f45e240fc8b38626c62d5e6b2
3
+ metadata.gz: 24d4b0dce143ebd6e3a05238ffa19ba782ccebf08c7a9027db568d641f1a07e3
4
+ data.tar.gz: 2ea4aa3a99418d953d05a4622760d3142fcf2593fce656f9c95da5dc0c3d3227
5
5
  SHA512:
6
- metadata.gz: 37de1f18daa80ab302776cae0e19751efd2c766b5e9d0cf5f393727b091a8e1afd9c5a2d9e7bc6a7d4d1ba07de667071758a42db81c777432dd1b6c39438f023
7
- data.tar.gz: b679b1bf4fa42a6b0c5e461e619217449dacb0c28f9d759a2a98c1e37aade84fefa352bf932506a01d602663b330381ef47928d02b3f5a3c384a9be0b69a03d8
6
+ metadata.gz: 16fb57a03877b9e0602606aa6869613a823d09553fd477921d4827ab2d485c1cdb2620a6ce133d55c9aa00fe2931772aa8ded2354ed12b02d2016cc5c8d0e1a9
7
+ data.tar.gz: c5dc7f819ca8bd17eac6b24b1c802befbcda08b320a317c2f3b7ad1527b8f2cb08f64866964aadda87f5036908bd2dc6d2502c43e0f77b3ce26de29d9b6c4405
@@ -3,20 +3,24 @@
3
3
  ACE generated this starter guidance from `ace-support-core` defaults.
4
4
  Customize it for your repository-specific rules and workflows.
5
5
  Refresh the starter version with `bundle exec ace-config sync ace-support-core --force`.
6
- Run `bundle exec ace-handbook sync` separately when you need to refresh projected skill folders.
6
+ Run `bundle exec ace-handbook sync` separately to refresh generated `.agents/skills`.
7
7
 
8
- Read `CLAUDE.md` first.
8
+ See `docs/tools.md#agent-engineering-practices` for expanded day-to-day agent practices.
9
9
 
10
- ## ACE CLI Command Integrity
10
+ **Cost Bias Override:** do not optimize for human work-weeks or token budgets — choose the technically correct path (full coverage, proper refactors, robust design) even when it costs more turns.
11
11
 
12
- Run `ace-*` commands directly. Do not pipe, redirect, or post-process `ace-*` output.
12
+ ## Principles
13
13
 
14
- - Run `ace-*` commands directly.
15
- - When an `ace-*` command prints a file path, read that file directly.
16
- - Use `.ace-local/` for project-local ACE artifacts and `/tmp/` for disposable temporary files.
14
+ - Do not preserve backward compatibility. Remove obsolete paths instead of adding compatibility layers, fallbacks, or migrations.
15
+ - Choose the simplest implementation that fully meets current requirements. Avoid speculative abstractions, configuration, and indirection.
16
+ - Grow the system in layers from a working end-to-end core. Never trade a working product for unfinished complexity.
17
+ - Keep components modular and concerns clearly separated.
18
+ - Prefer established, well-maintained libraries; lean on dependencies already in the project before inventing or adding packages.
19
+ - Make architectural decisions for the long term. Do not accept intentional stopgaps meant to be replaced later.
20
+ - Study how established products solve the problem before designing. Adopt proven patterns rather than inventing from scratch.
17
21
 
18
- ## Working Rules
22
+ ## Hard rules
19
23
 
20
- - Keep repository-specific guidance in this file.
21
- - Do not overwrite unrelated user-owned content when refreshing generated bootstrap files.
22
- - Use `ace-test` for tests when ACE packages provide test targets.
24
+ - Run `ace-*` commands directly. Do not pipe, redirect, or post-process their output; when they print a path, read that file.
25
+ - Use `.ace-local/` for project-local ACE artifacts and `/tmp/` for disposable temps.
26
+ - Prefer `ace-test` / `ace-test-suite` over raw `bundle exec` tests when those targets exist.
@@ -3,26 +3,9 @@
3
3
  ACE generated this starter guidance from `ace-support-core` defaults.
4
4
  Customize it for your repository-specific rules and workflows.
5
5
  Refresh the starter version with `bundle exec ace-config sync ace-support-core --force`.
6
- Run `bundle exec ace-handbook sync` separately when you need to refresh projected skill folders.
6
+ Run `bundle exec ace-handbook sync` separately to refresh generated `.agents/skills`.
7
7
 
8
- Agent guidance for this repository.
8
+ Read `AGENTS.md` first.
9
+ See `docs/tools.md#agent-engineering-practices` for expanded day-to-day agent practices.
9
10
 
10
- ## Command Types
11
-
12
- - Slash commands such as `/as-task-work` run inside the chat tool.
13
- - `ace-*` commands run in the terminal.
14
-
15
- ## ACE CLI Output Handling
16
-
17
- - Run `ace-*` commands directly.
18
- - Do not use pipes, redirects, or shell post-processors on `ace-*` commands.
19
- - If an `ace-*` command prints a file path, read that file directly.
20
-
21
- ## Local Artifacts
22
-
23
- - Use `.ace-local/` for project-local ACE artifacts.
24
- - Use `/tmp/` for disposable temporary files.
25
-
26
- ## Testing
27
-
28
- - Prefer `ace-test` and `ace-test-suite` over raw `bundle exec` test commands when those targets exist.
11
+ **Cost Bias Override:** do not optimize for human work-weeks or token budgets — choose the technically correct path (full coverage, proper refactors, robust design) even when it costs more turns.
@@ -0,0 +1,40 @@
1
+ # Tools
2
+
3
+ ACE generated this starter reference from `ace-support-core` defaults.
4
+ Customize it for repository-specific agent workflows and operational practices.
5
+
6
+ ## Agent Engineering Practices
7
+
8
+ Root agent files should stay short and reserve detail for this page or project skills.
9
+ Add a rule to `AGENTS.md` only after an agent repeatedly gets something wrong; keep the root file under ~30–50 lines.
10
+
11
+ **Cost Bias Override:** do not optimize for human work-weeks or token budgets — choose the technically correct path (full coverage, proper refactors, robust design) even when it costs more turns.
12
+
13
+ ### Skill Projections
14
+
15
+ - `ace-handbook sync` writes generated skills to `.agents/skills/` by default.
16
+ - Use explicit provider sync, such as `ace-handbook sync --provider codex`, only when a harness needs its native folder.
17
+ - Do not hand-edit generated skill projections; edit canonical package `handbook/skills/` or project `.ace-handbook/skills/`.
18
+
19
+ ### Workspace and File Safety
20
+
21
+ - Keep project-specific temporary output in `.ace-local/` and disposable scratch files in `/tmp/`.
22
+ - Do not let parallel agents share one writable checkout. Use isolated worktrees or durable workspace leases when running concurrent work.
23
+ - For CLIs or scripts that update shared text files, prefer file locks and atomic writes so interrupted agent runs cannot corrupt state.
24
+
25
+ ### Debugging and Change Safety
26
+
27
+ - Reproduce behavior before fixing it, preferably through the highest-fidelity test or E2E script that can fail the same way a user sees it.
28
+ - Read automation and validation config from trusted refs, such as the repository default branch or pinned setup config, before executing commands supplied by untrusted changes.
29
+ - Never use raw force pushes in automated flows. Fetch first and require lease or patch-equivalence checks before rewriting remote history.
30
+
31
+ ### Long-Running Tools and UI Review
32
+
33
+ - For warm daemons or browser sessions, check a health endpoint and exact version match before reusing the process; recycle mismatched daemons.
34
+ - When changing visual or interactive UI, run browser/layout audits for overflow, clipped text, overlaps, stale element references, and broken interaction targets.
35
+
36
+ ### Agent-Facing CLI Standards
37
+
38
+ - Keep default CLI output concise, deterministic, and useful to agents.
39
+ - Include definite empty states, precomputed counts, truncation hints, and next-step commands where they reduce follow-up probing.
40
+ - Make no-op mutations idempotent with exit code `0` when the desired state is already true.
data/CHANGELOG.md CHANGED
@@ -7,8 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.31.0] - 2026-08-12
11
+
12
+ ### Changed
13
+ - Replaced bootstrap `AGENTS.md` with principles-first starter guidance and made generated `CLAUDE.md` a thin pointer to `AGENTS.md`.
14
+ - Documented when to expand root `AGENTS.md` in generated `docs/tools.md` agent engineering practices.
15
+ ## [0.30.2] - 2026-08-12
16
+
17
+ ### Technical
18
+ - Aligned gemspec dependency floors with current ACE package minor release lines and safe external minor dependency bumps (no major version jumps).
19
+
20
+ ## [0.30.1] - 2026-06-30
21
+
22
+ ### Fixed
23
+ - Made frontmatter-free policy path matching symlink-safe by canonicalizing project roots and missing descendants before pattern evaluation.
24
+
25
+ ### Changed
26
+ - Updated generated bootstrap guidance to describe `.agents/skills/` as the default handbook skill projection and harness-native skill folders as explicit provider sync outputs.
27
+
28
+ ## [0.30.0] - 2026-06-30
29
+
30
+ ### Added
31
+ - Added generated `docs/tools.md` project-root bootstrap guidance with an `Agent Engineering Practices` section for expanded day-to-day agent conventions.
32
+
10
33
  ### Changed
11
34
  - Clarified the first-use bootstrap guidance so root `AGENTS.md` / `CLAUDE.md` starter files are documented as outputs of `ace-support-core` sync, and updated the shipped refresh commands to use `bundle exec` for repo-local installs.
35
+ - Updated generated root `AGENTS.md` and `CLAUDE.md` starter files with a compact cost-bias override and a pointer to `docs/tools.md#agent-engineering-practices`.
12
36
 
13
37
  ## [0.29.10] - 2026-04-24
14
38
 
@@ -19,15 +19,45 @@ module Ace
19
19
  return false if path.nil? || path.to_s.empty?
20
20
  return false if patterns.nil? || patterns.empty?
21
21
 
22
- absolute_path = File.expand_path(path)
23
- root = File.expand_path(project_root || Dir.pwd)
24
- relative_path = absolute_path.sub(/^#{Regexp.escape(root)}\/?/, "")
22
+ absolute_path = canonical_path(path)
23
+ root = canonical_path(project_root || Dir.pwd)
24
+ relative_path = relative_path_under(absolute_path, root) || absolute_path
25
25
 
26
26
  patterns.any? do |pattern|
27
27
  File.fnmatch?(pattern, relative_path, MATCH_FLAGS) ||
28
28
  File.fnmatch?(pattern, absolute_path, MATCH_FLAGS)
29
29
  end
30
30
  end
31
+
32
+ def self.canonical_path(path)
33
+ expanded = File.expand_path(path)
34
+ return File.realpath(expanded) if File.exist?(expanded)
35
+
36
+ canonical_missing_path(expanded)
37
+ rescue
38
+ File.expand_path(path)
39
+ end
40
+
41
+ def self.canonical_missing_path(path)
42
+ parent = path
43
+ suffix = []
44
+ until File.exist?(parent) || parent == File.dirname(parent)
45
+ suffix.unshift(File.basename(parent))
46
+ parent = File.dirname(parent)
47
+ end
48
+ return path unless File.exist?(parent)
49
+
50
+ File.join(File.realpath(parent), *suffix)
51
+ end
52
+
53
+ def self.relative_path_under(path, root)
54
+ return "." if path == root
55
+
56
+ prefix = "#{root}#{File::SEPARATOR}"
57
+ return path.delete_prefix(prefix) if path.start_with?(prefix)
58
+
59
+ nil
60
+ end
31
61
  end
32
62
  end
33
63
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Core
5
- VERSION = '0.29.11'
5
+ VERSION = "0.31.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-support-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.11
4
+ version: 0.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-04-26 00:00:00.000000000 Z
10
+ date: 2026-08-12 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-config
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '0.9'
18
+ version: '0.17'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '0.9'
25
+ version: '0.17'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: ace-support-fs
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -64,6 +64,7 @@ files:
64
64
  - ".ace-defaults/core/settings.yml"
65
65
  - ".ace-defaults/project-root/AGENTS.md"
66
66
  - ".ace-defaults/project-root/CLAUDE.md"
67
+ - ".ace-defaults/project-root/docs/tools.md"
67
68
  - CHANGELOG.md
68
69
  - LICENSE
69
70
  - README.md