ariadna 2.0.0 → 2.0.1

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: c3af50d57b640022fe1813e73608664bbc0cd87b5bef3641ffc4d0a7e96f6482
4
- data.tar.gz: '09b7d30e06b862eab57e36825c7a4840615dd468bc1962c0e5f5d89699b32338'
3
+ metadata.gz: 25455359d994b7c04e152f3f4424fa7a7803460301a28d03175209b000e9d7d0
4
+ data.tar.gz: aa42c458d4d2f6277caefe8363198e9f0335f5714990e163e4a510e820b725d6
5
5
  SHA512:
6
- metadata.gz: 566627d4367049b9bb9573756457156d0d73a94396482bb5da8dc002bc28868ffe9fc5f4c56f1f9b63ea35dd6e698024204b52d6b68701bfda71b19b07375335
7
- data.tar.gz: 9e0aa961ad1a49c9356e98105d786b59a8aaf09e971a620871c2114a9620f75fd098482aef2c237159c69a99b980ecb66e71cb0fe52df341a6fb0d3043b3a2c3
6
+ metadata.gz: 184532c045ec4f56faa71a959baa225be67720b0777f600d7d2896ffc769cc5db0f558af0e6c081bbf6ddc35a232099c440566b577b4406f09a79329cb36ed37
7
+ data.tar.gz: 50086c4f9da9b832a70ef1b1c2901ba1ff97e7d8630401959928c096bdde288d73ed1a83d32bb8d7b1d054093638290d73c0b4a75a01d67607079010942a3e86
@@ -35,13 +35,16 @@ Check for checkpoints before starting: `grep -n 'type="checkpoint' [plan-path]`
35
35
  - **Has checkpoints:** Execute until checkpoint, STOP, return checkpoint message. A fresh agent will continue.
36
36
  - **Continuation** (`<completed_tasks>` in prompt): Verify prior commits exist (`git log --oneline -5`), skip completed tasks, resume from the specified point.
37
37
 
38
- For each `type="auto"` task: execute, verify done criteria, commit immediately.
38
+ For each `type="auto"` task:
39
+ 1. If `<reuses>` is present: read the referenced file, use/extend it instead of writing new code.
40
+ 2. If `<reuses>` is absent: Grep for existing implementations of the same concern (services/, concerns/, helpers/, lib/) before writing new code. Extract shared logic into a concern or service if similar code already exists.
41
+ 3. Execute, verify done criteria, commit immediately.
39
42
  For `tdd="true"` tasks: RED (failing test + commit) → GREEN (passing impl + commit) → REFACTOR if needed.
40
43
  For `type="checkpoint:*"` tasks: STOP immediately, return structured checkpoint message.
41
44
  </execution>
42
45
 
43
46
  <deviations>
44
- Fix automatically (no permission needed): bugs, missing error handling/validation/auth, blocking imports or dependencies.
47
+ Fix automatically (no permission needed): bugs, missing error handling/validation/auth, blocking imports or dependencies, extracting duplicated logic into shared concerns/services.
45
48
  Ask before changing: new DB tables, switching libraries, breaking API changes, major structural modifications — STOP and return a checkpoint with the proposed change, why it's needed, and alternatives.
46
49
  Track all deviations for SUMMARY.md.
47
50
  </deviations>
@@ -29,6 +29,7 @@ Then read in this order:
29
29
  2. `@~/.claude/skills/rails-backend/SKILL.md` — Rails patterns and known domains
30
30
  3. `@~/.claude/memory/` files relevant to the project
31
31
  4. Existing codebase: `Gemfile`, relevant `app/` directories, existing patterns via Grep/Glob
32
+ 5. **Reuse audit:** For each capability this phase needs, Grep/Glob for existing implementations (services, concerns, helpers, lib/). Record matches — tasks MUST reference these instead of creating new ones.
32
33
 
33
34
  **Inline research when domain is unfamiliar:**
34
35
  - Known Rails domains (models, controllers, views, auth, jobs, mailers, Turbo): skip — use rails-backend/SKILL.md
@@ -106,6 +107,7 @@ must_haves:
106
107
  <task type="auto">
107
108
  <name>Task N: [Action verb + noun]</name>
108
109
  <files>exact/path/to/file.rb</files>
110
+ <reuses>existing/service_or_concern.rb#method_name | none (justify)</reuses>
109
111
  <action>[Specific implementation: method names, params, return values, constraints]</action>
110
112
  <verify>[Runnable command or observable check]</verify>
111
113
  <done>[Measurable acceptance criteria]</done>
@@ -127,5 +129,6 @@ After completion, create `.ariadna_planning/phases/XX-name/{phase}-{plan}-SUMMAR
127
129
  - [ ] No plan exceeds 3 tasks
128
130
  - [ ] Dependencies are acyclic and wave numbers are consistent
129
131
  - [ ] Every `auto` task has files + action + verify + done (all specific, not vague)
132
+ - [ ] Every task has `<reuses>` — no new utility/service/concern duplicates existing code
130
133
  - [ ] Key links connect artifacts (not just list them)
131
134
  </output>
@@ -45,7 +45,7 @@ Load Skills for deep checks:
45
45
  </context>
46
46
 
47
47
  <boundaries>
48
- In scope: goal achievement (truths, artifacts, wiring), cross-phase integration (module usage, E2E flows, auth protection), security and performance findings on changed files, anti-patterns (stubs, TODOs, debug statements), re-verification against prior gaps.
48
+ In scope: goal achievement (truths, artifacts, wiring), cross-phase integration (module usage, E2E flows, auth protection), security and performance findings on changed files, anti-patterns (stubs, TODOs, debug statements, duplicated logic across files), re-verification against prior gaps.
49
49
 
50
50
  Out of scope: running the application, writing or modifying code, committing (leave to orchestrator).
51
51
  </boundaries>
@@ -69,6 +69,8 @@ security_findings: # only if findings exist
69
69
  - {check: "1.1a", severity: critical|high|medium|low, file: "...", line: 42, detail: "..."}
70
70
  performance_findings: # only if findings exist
71
71
  - {check: "1.1a", severity: high|medium|low, file: "...", line: 42, detail: "..."}
72
+ duplication_findings: # only if duplicated logic found
73
+ - {file_a: "...", file_b: "...", pattern: "description of duplicated logic", recommendation: "extract to concern/service"}
72
74
  human_verification: # only if status: human_needed
73
75
  - {test: "...", expected: "...", why_human: "..."}
74
76
  ```
@@ -77,7 +79,7 @@ Markdown body: observable truths table (status + evidence), artifact status, key
77
79
 
78
80
  Status rules:
79
81
  - `passed` — all truths verified, no missing/stub artifacts, wiring intact, no Critical/High security, fewer than 3 High perf findings
80
- - `gaps_found` — any truth failed, artifact missing/stub, wiring broken, Critical/High security, or 3+ High perf findings
82
+ - `gaps_found` — any truth failed, artifact missing/stub, wiring broken, Critical/High security, 3+ High perf findings, or duplicated logic across files
81
83
  - `human_needed` — automated checks pass but items need human testing (visual, real-time, external services)
82
84
 
83
85
  Return to orchestrator:
@@ -1,3 +1,3 @@
1
1
  module Ariadna
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ariadna
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jorge Alvarez