jorgex-stack 1.9.70 → 1.9.71

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jorgex-stack",
3
- "version": "1.9.70",
3
+ "version": "1.9.71",
4
4
  "description": "Harness multi-agente portable: instala la config JorgeX (agentes, skills, hooks, Engram, MCPs) en Claude Code, Codex CLI, OpenCode y Pi",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -31,10 +31,10 @@ You fix comments directly instead of reporting suggestions: trivial comment work
31
31
 
32
32
  1. **Factual accuracy**: comments that no longer match what the code does → correct them.
33
33
  2. **Worthless comments**: comments that restate obvious code → remove them.
34
- 3. **Missing critical context**: an undocumented assumption or non-obvious "why" worth one line → add it.
34
+ 3. **Missing critical context**: a verified, undocumented assumption or non-obvious "why" needed to use or change the code safely → add it.
35
35
  4. **Misleading elements**: wording that could be misread → clarify.
36
36
 
37
- Match the project's comment conventions: density, language, format. When in doubt, fewer comments — explain why, not what.
37
+ Apply the shared system prompt's **Code comments** policy; follow local language and format, not density. Leave comments that already provide useful, accurate context untouched; cleanup is not a quota or a requirement to produce edits. Do not edit docstrings used as runtime metadata within this comments-only scope: report necessary contract changes to their owner.
38
38
 
39
39
  ## Output format
40
40
 
@@ -23,6 +23,8 @@ Spend disproportionate effort here. **Be aggressive. Be creative. Refuse to give
23
23
 
24
24
  ### Ways to construct one — try them in roughly this order
25
25
 
26
+ Inspect the project's existing runner, fixtures, helpers and diagnostic commands first. Reuse the closest suitable harness; the options below are not an instruction to build a second testing stack. Apply `lean-code`'s diagnostic tooling policy before adding or retaining tooling.
27
+
26
28
  1. **Failing test** at whatever seam reaches the bug — unit, integration, e2e.
27
29
  2. **Curl / HTTP script** against a running dev server.
28
30
  3. **CLI invocation** with a fixture input, diffing stdout against a known-good snapshot.
@@ -38,7 +40,7 @@ Build the right feedback loop, and the bug is 90% fixed.
38
40
 
39
41
  ### Tighten the loop
40
42
 
41
- Treat the loop as a product. Once you have _a_ loop, **tighten it**:
43
+ Tighten the loop for this investigation, not into a permanent product:
42
44
 
43
45
  - Can I make it faster? (Cache setup, skip unrelated init, narrow the test scope.)
44
46
  - Can I make the signal sharper? (Assert on the specific symptom, not "didn't crash".)
@@ -134,7 +136,9 @@ Required before declaring done:
134
136
  - [ ] Original repro no longer reproduces (re-run the Phase 1 loop)
135
137
  - [ ] Regression test passes (or absence of seam is documented)
136
138
  - [ ] All `[DEBUG-...]` instrumentation removed (`grep` the prefix)
137
- - [ ] Throwaway prototypes deleted (or moved to a clearly-marked debug location)
139
+ - [ ] Throwaway probes, scripts, harnesses and their owned resources cleaned up; moving them to a debug folder is not cleanup. Retain tooling only when the recurring need, consumer, harness gap and maintenance owner are justified under `lean-code`; preserve the regression test.
138
140
  - [ ] The hypothesis that turned out correct is stated in the commit / PR message — so the next debugger learns
139
141
 
142
+ Keep compact, redacted, reproducible evidence in the existing task or PR: exact command, relevant environment/version and fixture or seed, observed failure and post-fix result. Distinguish verified observations from hypotheses. Preserve the first failure and any necessary diagnostic artifact when it carries unique evidence; do not retain full dumps or disposable environments by default. Report cleanup that could not safely finish.
143
+
140
144
  **Then ask: what would have prevented this bug?** If the answer involves architectural change (no good test seam, tangled callers, hidden coupling) hand off to the `/improve-codebase-architecture` skill with the specifics. Make the recommendation **after** the fix is in, not before — you have more information now than when you started.
@@ -60,6 +60,10 @@ Do not add a new dependency unless the task explicitly requires it or the projec
60
60
  Before adding a new helper, wrapper, abstraction, or dependency, run the ladder again.
61
61
  Prefer the narrowest change that solves the real need.
62
62
 
63
+ ### Diagnostic tooling
64
+
65
+ Reuse the project's runner, fixtures, helpers and existing diagnostic commands before building a harness. New probes, replay scripts and diagnostic harnesses are temporary by default, with explicit resource ownership and automatic teardown arranged before execution. Keep tooling only for a concrete recurring need: identify its consumer, why the existing harness cannot cover it, and who maintains it in the current task or PR. A successful one-off investigation alone does not justify a permanent command, framework or dependency. Preserve the authoritative regression test and compact reproduction evidence, not the disposable environment.
66
+
63
67
  ### Review / simplification
64
68
 
65
69
  Use it as a bloat filter: delete, stdlib, native/platform, reuse, or shrink.
@@ -275,7 +275,9 @@ async def get_user(user_id: str) -> Dict[str, Any]:
275
275
 
276
276
  ## Tool Docstrings
277
277
 
278
- Every tool must have comprehensive docstrings with explicit type information:
278
+ Every tool needs a concise docstring describing the contract clients need: purpose, non-obvious input constraints, output shape, side effects and relevant errors. Preserve information used to generate MCP descriptions or schemas; these docstrings are runtime metadata, not merely code comments. Do not repeat types or field descriptions already exposed by the generated schema unless needed to disambiguate behavior. Document dict/JSON return structure when it is not exposed by an output schema.
279
+
280
+ The example below illustrates possible contract details, not mandatory sections for every tool:
279
281
 
280
282
  ```python
281
283
  async def search_users(params: UserSearchInput) -> str:
@@ -419,7 +421,7 @@ def _handle_api_error(e: Exception) -> str:
419
421
  async def example_search_users(params: UserSearchInput) -> str:
420
422
  '''Search for users in the Example system by name, email, or team.
421
423
 
422
- [Full docstring as shown above]
424
+ [Concise tool contract docstring]
423
425
  '''
424
426
  try:
425
427
  # Make API request using validated parameters
@@ -692,8 +694,8 @@ Before finalizing your Python MCP server implementation, ensure:
692
694
  - [ ] Annotations correctly set (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)
693
695
  - [ ] All tools use Pydantic BaseModel for input validation with Field() definitions
694
696
  - [ ] All Pydantic Fields have explicit types and descriptions with constraints
695
- - [ ] All tools have comprehensive docstrings with explicit input/output types
696
- - [ ] Docstrings include complete schema structure for dict/JSON returns
697
+ - [ ] All tools expose concise, sufficient contract descriptions without duplicating generated schema information
698
+ - [ ] Dict/JSON return structure is exposed through an output schema or documented when no schema is exposed
697
699
  - [ ] Pydantic models handle input validation (no manual validation needed)
698
700
 
699
701
  ### Advanced Features (where applicable)
@@ -716,4 +718,4 @@ Before finalizing your Python MCP server implementation, ensure:
716
718
  - [ ] Server runs successfully: `python your_server.py --help`
717
719
  - [ ] All imports resolve correctly
718
720
  - [ ] Sample tool calls work as expected
719
- - [ ] Error scenarios handled gracefully
721
+ - [ ] Error scenarios handled gracefully
@@ -54,13 +54,13 @@ For a manual xreview without an explicit work context, continue without PRD/plan
54
54
 
55
55
  ## 4. Comment pass FIRST (conditional)
56
56
 
57
- If the diff adds or changes comments/docstrings, run `comment-fixer` ALONE before the analysts — it edits comments in place (comments only, never code), so the analysts then review a diff already clean of comment noise instead of re-reporting it or mistaking its edits for contamination.
57
+ Inspect relevant comment/docstring hunks first. Run `comment-fixer` ALONE before the analysts when source-code comments/docstrings need an accuracy, usefulness or critical-context pass under the shared system prompt's **Code comments** policy. It already owns comment cleanup; do not add a separate cleanup agent. Instruction prose, documentation pages and illustrative code fences alone do not trigger this pass. It edits comments in place (comments only, never code), so analysts review the resulting working state rather than mistaking its edits for contamination.
58
58
 
59
59
  - Pass the frozen refs or working-state identity and the relevant comment/docstring scope.
60
60
  - When the orchestrator supplied one, pass it the same exact work context path as every other review subagent.
61
61
  - If it changed anything and the scope is a committed diff (branch/PR): comment-fixer itself never commits — YOU commit its fixes before launching reviewers, staging ONLY its files (never `-a`/`-A`). Then freeze the new candidate SHA and refresh scopes. If a commit cannot be made, report the uncommitted state; it cannot certify the committed candidate.
62
62
  - For working-tree reviews: leave its edits uncommitted (they join the user's pending work) and say so in the report.
63
- - If the diff touches no comments, skip it and move on.
63
+ - If no comment pass is needed, skip it and state why. A pass that leaves all comments unchanged is valid.
64
64
 
65
65
  ## 5. Launch the remaining subagents in PARALLEL
66
66
 
@@ -26,6 +26,10 @@ Ask questions when something isn't clear instead of assuming it's correct.
26
26
  - Do not add dependencies without explicit user approval.
27
27
  - Run lint and typecheck after significant changes when available.
28
28
 
29
+ ### Code comments
30
+
31
+ Add comments only when they carry information the code does not make clear: a non-obvious reason, invariant, constraint or operational hazard. Do not narrate obvious code, mirror existing comment density, or add comments just because a function or test is new. Preserve contractual documentation, legal notices, directives, and critical security, concurrency or deletion context; docstrings used as runtime metadata are part of the contract, not disposable prose. Follow local language and format, without line-count or density quotas. Leaving already-clear code uncommented is valid.
32
+
29
33
  ---
30
34
 
31
35
  ## Default Architecture