Skip to content

fix: resolve fresh-clone test failure, 236 lint warnings, and dead code#603

Open
alessandrovarela wants to merge 2 commits intoSynkraAI:mainfrom
alessandrovarela:fix/fresh-clone-quality-fixes
Open

fix: resolve fresh-clone test failure, 236 lint warnings, and dead code#603
alessandrovarela wants to merge 2 commits intoSynkraAI:mainfrom
alessandrovarela:fix/fresh-clone-quality-fixes

Conversation

@alessandrovarela
Copy link

@alessandrovarela alessandrovarela commented Mar 15, 2026

Summary

Community contribution fixing 3 issues that affect fresh-clone contributor experience:

  • Fix test bug: _timeAgo in stats-renderer.test.js used setDate(getDate()-7) which doesn't guarantee exactly 7 days in milliseconds, causing flaky 6d/7d results across DST/month boundaries. Replaced with exact ms arithmetic.
  • Fix 236 lint warnings: 222 auto-fixed (trailing commas, single quotes) + 14 manual (dead imports, unused vars, missing braces). Lint now exits with 0 errors, 0 warnings.
  • Remove dead code: ensureGitignore() in session-manager.js created a redundant .synapse/.gitignore — the root .gitignore already covers .synapse/sessions/, .synapse/cache/, .synapse/metrics/. Removed function, call, export, and 2 related tests.

No application behavior changed. All fixes are test/lint/dead-code only.

Story Reference

CONTRIB-1: Fresh-Clone Quality Fix

Acceptance Criteria

  • npm test passes — 0 real test failures (stats-renderer fixed)
  • npm run lint — 0 errors, 0 warnings (was 236 warnings)
  • npm run typecheck — 0 errors
  • ensureGitignore() removed with no regression
  • No application behavior changed

Test Plan

  • CI runs npm test on Node 18, 20, 22, 24, 25 matrix
  • CI runs npm run lint — must exit 0
  • CI runs npm run typecheck — must exit 0
  • Verify stats-renderer.test.js _timeAgo test passes consistently
  • Verify session-manager.test.js passes without ensureGitignore tests

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Removed automatic .gitignore creation during session initialization.
    • Tweaked error message formatting for configuration validation.
    • Codebase cleanup and style normalization (unused imports/variables removed, parameter/catch names adjusted, consistent trailing commas and string quoting).
    • Updated generated install manifest metadata (timestamps/hashes) and minor test formatting/expectation adjustments.

…de [Story CONTRIB-1]

- Fix _timeAgo test bug: replace setDate(getDate()-7) with exact ms arithmetic
  to prevent flaky 6d/7d results across DST/month boundaries
- Auto-fix 222 ESLint warnings (trailing commas, single quotes)
- Fix 14 manual ESLint warnings: remove dead imports (execSync, fs/path/yaml),
  remove unused variables (fileCount, present), prefix intentional unused
  params with _ convention, wrap default case in braces
- Remove redundant ensureGitignore() from session-manager.js — .synapse/
  subdirs already covered by root .gitignore
- Sync package-lock.json version field (5.0.2 → 5.0.3)

No application behavior changed. All fixes are test/lint/dead-code only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Mar 15, 2026

@alessandrovarela is attempting to deploy a commit to the Pedro Valério Lopez's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions bot added area: agents Agent system related area: workflows Workflow system related squad mcp type: test Test coverage and quality area: core Core framework (.aios-core/core/) area: installer Installer and setup (packages/installer/) area: synapse SYNAPSE context engine area: cli CLI tools (bin/, packages/aios-pro-cli/) area: pro Pro features (pro/) area: health-check Health check system area: docs Documentation (docs/) area: devops CI/CD, GitHub Actions (.github/) needs-po-review labels Mar 15, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 15, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0953d613-de7b-4756-85eb-077f96b5c3d4

📥 Commits

Reviewing files that changed from the base of the PR and between aee1d2a and 0b63dc6.

📒 Files selected for processing (2)
  • packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js
  • scripts/package-synapse.js
🚧 Files skipped from review as they are similar to previous changes (2)
  • packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js
  • scripts/package-synapse.js

Walkthrough

This PR applies widespread non-functional edits: formatting (trailing commas, quote normalization), removal of unused imports/variables, small parameter/catch renames, updates to manifest hashes/timestamps, and deletion of the ensureGitignore routine and its tests. No new features or major control-flow changes.

Changes

Cohort / File(s) Summary
Code-intel helpers
.aiox-core/core/code-intel/helpers/dev-helper.js, .aiox-core/core/code-intel/helpers/devops-helper.js, .aiox-core/core/code-intel/helpers/planning-helper.js, .aiox-core/core/code-intel/helpers/qa-helper.js
Formatting/comment adjustments and removal of an unused local variable; no logic changes.
Config & manifest
.aiox-core/core/config/template-overrides.js, .aiox-core/install-manifest.yaml
Error message string formatting change and regenerated manifest with updated timestamps/hashes/sizes.
Doctor & graph dashboard
.aiox-core/core/doctor/checks/rules-files.js, .aiox-core/core/graph-dashboard/cli.js, .aiox-core/core/graph-dashboard/data-sources/code-intel-source.js
Removed unused variable, renamed unused param (args_args), and minor syntax normalization (trailing commas).
IDs & synapse layers
.aiox-core/core/ids/layer-classifier.js, .aiox-core/core/synapse/layers/layer-processor.js
String quote normalization and renaming abstract method param (context_context) in base class signature.
Session manager
.aiox-core/core/synapse/session/session-manager.js
Removed ensureGitignore function and its invocations; exports updated to omit it.
Data modules
.aiox-core/data/capability-detection.js, .aiox-core/data/tok3-token-comparison.js, .aiox-core/data/tool-search-validation.js
Trailing-comma/style consistency changes and removal of unused imports.
Utilities & CLI bins
.aiox-core/utils/filters/index.js, bin/aiox.js, bin/utils/framework-guard.js, .claude/hooks/precompact-session-digest.cjs
Syntax bracketing in switch, removed execSync import, null-placeholder literal normalization, and template-literal→string literal edits.
Installer code & wizard
packages/installer/src/installer/brownfield-upgrader.js, packages/installer/src/pro/pro-scaffolder.js, packages/installer/src/wizard/ide-config-generator.js, packages/installer/src/wizard/index.js
Trailing commas and catch-parameter renames for unused errors (prefixed with _).
Scripts & validation
scripts/package-synapse.js, scripts/validate-package-completeness.js, squads/claude-code-mastery/scripts/validate-setup.js
Small README snippet/command adjustment, trailing-comma insertions, and console/log formatting tweaks.
Tests — installer, CLI, config, graph, ids, synapse, others
packages/installer/tests/*, tests/cli/*, tests/config/*, tests/core/*, tests/graph-dashboard/*, tests/code-intel/*, tests/ids/*, tests/synapse/*, tests/memory/*, tests/integration/*, tests/unit/*
Widespread test-only formatting: trailing commas, quote normalization, minor refactors (Date arithmetic, let→const), and removal of the ensureGitignore test block to match production removal. No test logic changes beyond expected string/assertion updates.
Other small edits
.aiox-core/data/tok3-token-comparison.js, bin/..., scripts/..., tests/...
Various small cleanups, punctuation/whitespace normalization, and a few removed unused imports across files.

Sequence Diagram(s)

(omitted — changes are non-functional/formatting and do not introduce new multi-component control flow)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • Pedrovaleriolopez
  • oalanicolas
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 54.29% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: fixing a test failure, resolving lint warnings, and removing dead code—aligning well with the actual changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome to aiox-core! Thanks for your first pull request.

What happens next?

  1. Automated checks will run on your PR
  2. A maintainer will review your changes
  3. Once approved, we'll merge your contribution!

PR Checklist:

Thanks for contributing!

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (5)
tests/unit/tok5-analytics.test.js (1)

11-18: Use absolute imports for script modules in this test file

Line 18 and Line 26 still use relative require(...) paths. Please switch these to the project’s absolute import style to match repo standards.

Suggested refactor
 const {
   createEvent,
   sanitizeEvent,
   validateEvent,
   pruneOldEntries,
   generateSampleData,
   RETENTION_DAYS,
-} = require('../../.aiox-core/infrastructure/scripts/collect-tool-usage');
+} = require('.aiox-core/infrastructure/scripts/collect-tool-usage');

 const {
   compareBaseline,
   generateRecommendations,
   generateReport,
   aggregateUsage,
   DEFAULT_THRESHOLDS,
-} = require('../../.aiox-core/infrastructure/scripts/generate-optimization-report');
+} = require('.aiox-core/infrastructure/scripts/generate-optimization-report');

As per coding guidelines, "**/*.{js,jsx,ts,tsx}: Use absolute imports instead of relative imports in all code."

Also applies to: 20-26

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tests/unit/tok5-analytics.test.js` around lines 11 - 18, The test file
imports scripts using relative require paths; update the two relative requires
(the one importing createEvent, sanitizeEvent, validateEvent, pruneOldEntries,
generateSampleData, RETENTION_DAYS and the other require at the later import) to
use the project’s absolute import style instead of '../../.aiox-core/...' so
they match repo standards; locate the import that provides
createEvent/sanitizeEvent/validateEvent/pruneOldEntries/generateSampleData/RETENTION_DAYS
and the other import around line 26 and replace their require(...) calls with
the equivalent absolute module specifiers used across the codebase while keeping
the same imported symbols and names.
squads/claude-code-mastery/scripts/validate-setup.js (1)

38-48: Consider: Empty catch blocks silently discard error details.

The empty catch blocks return false on any parsing error, which is acceptable for a pass/fail validation script. However, if debugging becomes necessary in the future, adding optional verbose logging could be helpful.

This is a minor observation and not blocking—the current behavior is reasonable for the script's purpose.

Also applies to: 68-77, 82-93, 111-126

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@squads/claude-code-mastery/scripts/validate-setup.js` around lines 38 - 48,
The catch blocks in the validation functions (e.g., the check arrow function
that reads settingsPath and parses JSON via fs.readFileSync/JSON.parse to
compute deny) swallow errors silently; update each catch to optionally log the
caught error when verbose debugging is enabled (for example check
process.env.VERBOSE or a passed verbose flag) so normal behavior still returns
false but developers can enable detailed logs for debugging; apply the same
change to the other similar validation blocks mentioned (the ones that
read/parse files and return false on error).
tests/synapse/hook-runtime.test.js (1)

72-74: Remove stale local flag; it is unused in the assertion path.

Line 73 introduces cleanupCalled, but the test validates cleanup through sm._wasCalled(). Keeping both mechanisms adds noise without value.

Proposed cleanup
-      // Mock session-manager with prompt_count: 0 and trackable cleanStaleSessions
-      const cleanupCalled = false;
+      // Mock session-manager with prompt_count: 0 and trackable cleanStaleSessions
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tests/synapse/hook-runtime.test.js` around lines 72 - 74, The test introduces
an unused local flag cleanupCalled which is never checked; remove the
declaration and any assignments to cleanupCalled and rely solely on the
session-manager mock's verification method (sm._wasCalled()) to assert cleanup
behavior—edit the test around the writeFile block and any nearby references to
cleanupCalled so only sm._wasCalled() is used for the assertion.
tests/synapse/session-manager.test.js (1)

317-317: Align section/docs numbering after gitignore test removal.

Line 317 updates one section label, but the surrounding headers/comments are now inconsistent (e.g., later section numbers skip, top banner still mentions gitignore tests). Consider a quick docs-only pass to keep the test file structure coherent.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tests/synapse/session-manager.test.js` at line 317, Update the test file's
section headers and top banner so numbering and references are consistent after
removal of the gitignore test: search for the comment "Session Continuity (AC:
6)" and any surrounding numbered section labels, update them to follow the new
sequential order, and also update the top banner/text that still mentions
gitignore tests so all headings, section numbers and comments align across the
file (ensure any cross-references or later section numbers that currently skip
are renumbered to be continuous).
packages/installer/tests/unit/merger/yaml-merger.test.js (1)

17-19: Use the repository’s absolute import style for these touched requires.

The comma-only edits are harmless, but these hunks still resolve modules through __dirname + .. traversal. Since those imports were touched here, this is a good spot to bring them in line with the project import convention. As per coding guidelines, **/*.{js,jsx,ts,tsx}: Use absolute imports instead of relative imports in all code.

Also applies to: 56-58, 66-68, 74-76

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/installer/tests/unit/merger/yaml-merger.test.js` around lines 17 -
19, The test currently requires modules using path.join(__dirname, '..'...)
(e.g. the YamlMerger require that imports YamlMerger) which violates the repo's
absolute-import convention; replace each require(path.join(__dirname, ...)) in
this test (the YamlMerger import and the other touched requires at the same
file) with the project's absolute import style (use the module specifiers the
project uses for source imports) so the test imports YamlMerger and the related
helpers/fixtures via absolute require/imports instead of __dirname + ..
traversal.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js`:
- Line 37: The test contains a double-quoted string for the require assertion;
update the assertion literal to use single quotes to match project style —
change the line containing "const { commandSync, commandValidate } =
require('../../../../.aiox-core/infrastructure/scripts/ide-sync/index')" so the
require string uses single quotes (refer to the constants commandSync and
commandValidate to locate the line) and run the unit tests/linter to confirm
style compliance.

In `@scripts/package-synapse.js`:
- Line 226: The generated JSON "command" entry currently uses unquoted
$CLAUDE_PROJECT_DIR which will break if the path contains spaces; update the
"command" value (the "command" JSON key that references $CLAUDE_PROJECT_DIR and
.claude/hooks/synapse-engine.cjs) to wrap the full path in quotes so the shell
receives a single argument (e.g., ensure the value is "node
\"$CLAUDE_PROJECT_DIR/.claude/hooks/synapse-engine.cjs\"" or otherwise properly
escapes quotes), preserving correct escaping for JSON strings.

In `@tests/ids/layer-classifier.test.js`:
- Around line 7-9: Replace the relative require that pulls classifyLayer and
LAYER_RULES using path.resolve('../../...') with an absolute repo-root import;
update the require for the module that exports classifyLayer and LAYER_RULES to
use the project-root absolute path (the module that provides classifyLayer and
LAYER_RULES in the layer-classifier file) so the test no longer relies on
`../../` traversal and follows the absolute-import guideline.

---

Nitpick comments:
In `@packages/installer/tests/unit/merger/yaml-merger.test.js`:
- Around line 17-19: The test currently requires modules using
path.join(__dirname, '..'...) (e.g. the YamlMerger require that imports
YamlMerger) which violates the repo's absolute-import convention; replace each
require(path.join(__dirname, ...)) in this test (the YamlMerger import and the
other touched requires at the same file) with the project's absolute import
style (use the module specifiers the project uses for source imports) so the
test imports YamlMerger and the related helpers/fixtures via absolute
require/imports instead of __dirname + .. traversal.

In `@squads/claude-code-mastery/scripts/validate-setup.js`:
- Around line 38-48: The catch blocks in the validation functions (e.g., the
check arrow function that reads settingsPath and parses JSON via
fs.readFileSync/JSON.parse to compute deny) swallow errors silently; update each
catch to optionally log the caught error when verbose debugging is enabled (for
example check process.env.VERBOSE or a passed verbose flag) so normal behavior
still returns false but developers can enable detailed logs for debugging; apply
the same change to the other similar validation blocks mentioned (the ones that
read/parse files and return false on error).

In `@tests/synapse/hook-runtime.test.js`:
- Around line 72-74: The test introduces an unused local flag cleanupCalled
which is never checked; remove the declaration and any assignments to
cleanupCalled and rely solely on the session-manager mock's verification method
(sm._wasCalled()) to assert cleanup behavior—edit the test around the writeFile
block and any nearby references to cleanupCalled so only sm._wasCalled() is used
for the assertion.

In `@tests/synapse/session-manager.test.js`:
- Line 317: Update the test file's section headers and top banner so numbering
and references are consistent after removal of the gitignore test: search for
the comment "Session Continuity (AC: 6)" and any surrounding numbered section
labels, update them to follow the new sequential order, and also update the top
banner/text that still mentions gitignore tests so all headings, section numbers
and comments align across the file (ensure any cross-references or later section
numbers that currently skip are renumbered to be continuous).

In `@tests/unit/tok5-analytics.test.js`:
- Around line 11-18: The test file imports scripts using relative require paths;
update the two relative requires (the one importing createEvent, sanitizeEvent,
validateEvent, pruneOldEntries, generateSampleData, RETENTION_DAYS and the other
require at the later import) to use the project’s absolute import style instead
of '../../.aiox-core/...' so they match repo standards; locate the import that
provides
createEvent/sanitizeEvent/validateEvent/pruneOldEntries/generateSampleData/RETENTION_DAYS
and the other import around line 26 and replace their require(...) calls with
the equivalent absolute module specifiers used across the codebase while keeping
the same imported symbols and names.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8857d435-b6ac-4309-a078-d55ee9109841

📥 Commits

Reviewing files that changed from the base of the PR and between f74e3e7 and aee1d2a.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (59)
  • .aiox-core/core/code-intel/helpers/dev-helper.js
  • .aiox-core/core/code-intel/helpers/devops-helper.js
  • .aiox-core/core/code-intel/helpers/planning-helper.js
  • .aiox-core/core/code-intel/helpers/qa-helper.js
  • .aiox-core/core/config/template-overrides.js
  • .aiox-core/core/doctor/checks/rules-files.js
  • .aiox-core/core/graph-dashboard/cli.js
  • .aiox-core/core/graph-dashboard/data-sources/code-intel-source.js
  • .aiox-core/core/ids/layer-classifier.js
  • .aiox-core/core/synapse/layers/layer-processor.js
  • .aiox-core/core/synapse/session/session-manager.js
  • .aiox-core/data/capability-detection.js
  • .aiox-core/data/entity-registry.yaml
  • .aiox-core/data/tok3-token-comparison.js
  • .aiox-core/data/tool-search-validation.js
  • .aiox-core/install-manifest.yaml
  • .aiox-core/utils/filters/index.js
  • .claude/hooks/precompact-session-digest.cjs
  • bin/aiox.js
  • bin/utils/framework-guard.js
  • packages/installer/src/installer/brownfield-upgrader.js
  • packages/installer/src/pro/pro-scaffolder.js
  • packages/installer/src/wizard/ide-config-generator.js
  • packages/installer/src/wizard/index.js
  • packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js
  • packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js
  • packages/installer/tests/unit/entity-registry-bootstrap.test.js
  • packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js
  • packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js
  • packages/installer/tests/unit/merger/yaml-merger.test.js
  • scripts/package-synapse.js
  • scripts/validate-package-completeness.js
  • squads/claude-code-mastery/scripts/validate-setup.js
  • tests/cli/validate-publish.test.js
  • tests/code-intel/creation-helper.test.js
  • tests/code-intel/dev-helper.test.js
  • tests/code-intel/registry-syncer.test.js
  • tests/config/schema-validation.test.js
  • tests/config/template-overrides.test.js
  • tests/core/health-check/base-check.test.js
  • tests/core/health-check/check-registry.test.js
  • tests/core/registry/build-registry.test.js
  • tests/graph-dashboard/code-intel-source.test.js
  • tests/graph-dashboard/html-formatter.test.js
  • tests/graph-dashboard/stats-renderer.test.js
  • tests/graph-dashboard/tree-renderer.test.js
  • tests/ids/layer-classifier.test.js
  • tests/ids/layer-integration.test.js
  • tests/installer/pro-scaffolder.test.js
  • tests/integration/code-intel/helpers-with-registry.test.js
  • tests/memory/memory-format.test.js
  • tests/pro-recover.test.js
  • tests/synapse/benchmarks/wave6-journey.js
  • tests/synapse/bridge/uap-session-bridge.test.js
  • tests/synapse/diagnostics/collectors.test.js
  • tests/synapse/e2e/pipeline-audit.e2e.js
  • tests/synapse/hook-runtime.test.js
  • tests/synapse/session-manager.test.js
  • tests/unit/tok5-analytics.test.js
💤 Files with no reviewable changes (5)
  • .aiox-core/core/doctor/checks/rules-files.js
  • .aiox-core/core/synapse/session/session-manager.js
  • .aiox-core/core/code-intel/helpers/devops-helper.js
  • .aiox-core/data/tok3-token-comparison.js
  • bin/aiox.js

Comment on lines 7 to 9
const { classifyLayer, LAYER_RULES } = require(
path.resolve(__dirname, '../../.aiox-core/core/ids/layer-classifier')
path.resolve(__dirname, '../../.aiox-core/core/ids/layer-classifier'),
);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Switch this require to a repo-root absolute path.

This still depends on ../../ traversal. Please use a path rooted at the project root to align with the import rule.

Proposed change
 const { classifyLayer, LAYER_RULES } = require(
-  path.resolve(__dirname, '../../.aiox-core/core/ids/layer-classifier'),
+  path.join(process.cwd(), '.aiox-core/core/ids/layer-classifier'),
 );

As per coding guidelines, **/*.{js,jsx,ts,tsx}: Use absolute imports instead of relative imports in all code.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tests/ids/layer-classifier.test.js` around lines 7 - 9, Replace the relative
require that pulls classifyLayer and LAYER_RULES using path.resolve('../../...')
with an absolute repo-root import; update the require for the module that
exports classifyLayer and LAYER_RULES to use the project-root absolute path (the
module that provides classifyLayer and LAYER_RULES in the layer-classifier file)
so the test no longer relies on `../../` traversal and follows the
absolute-import guideline.

- Use single quotes in ide-sync-integration test assertion (CR review SynkraAI#1)
- Restore quotes around $CLAUDE_PROJECT_DIR in package-synapse.js template
  to prevent shell word-splitting on paths with spaces (CR review SynkraAI#2)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@nikolasdehor
Copy link
Contributor

PR muito bem estruturada. 30 arquivos tocados mas com escopo claro e disciplinado — nenhuma mudança de comportamento. Observações:

  1. Fix do _timeAgo: Trocar setDate(getDate()-7) por aritmética exata em ms é a correção certa. O bug original é sutil (DST + boundaries de mês) e deve ter causado flakiness intermitente em CI.

  2. Remoção do ensureGitignore(): Concordo com a remoção — o root .gitignore já cobre os paths de .synapse/. Código morto é custo de manutenção. Boa decisão remover junto com os testes associados.

  3. 236 warnings → 0: Impressionante. A separação entre 222 auto-fix e 14 manuais mostra rigor. Isso vai facilitar muito pra quem contribui pela primeira vez (fresh clone sem warnings assustando).

  4. Sobreposição com test: fix quality gates and skip flaky tests #607: Esta PR resolve de forma mais completa o que test: fix quality gates and skip flaky tests #607 tenta resolver parcialmente (lint warnings, testes flaky). Se possível, sugiro que test: fix quality gates and skip flaky tests #607 faça rebase em cima desta depois do merge, pra evitar conflitos.

  5. Sugestão: Como o package-lock.json foi tocado, vale confirmar que não houve bump acidental de dependências — às vezes o npm install puxa minor updates sem querer.

Ótima contribuição pra experiência de onboarding do projeto.

@alessandrovarela
Copy link
Author

nikolasdehor

Fala Nikolas, obrigado pelo feedback, principalmente vindo de você que é bem atuante e um colaborador experiente do projeto.
Tenho um apreço por este projeto, faço parte da comunidade do @oalanicolas e gostaria de colaborar.
Comecei com pequenos problemas, para quem sabe passar para coisas maiores.
Precisando de alguma coisa, pode contar. Estamos aí!
Valeu!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: agents Agent system related area: cli CLI tools (bin/, packages/aios-pro-cli/) area: core Core framework (.aios-core/core/) area: devops CI/CD, GitHub Actions (.github/) area: docs Documentation (docs/) area: health-check Health check system area: installer Installer and setup (packages/installer/) area: pro Pro features (pro/) area: synapse SYNAPSE context engine area: workflows Workflow system related mcp needs-po-review squad type: test Test coverage and quality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants