Commit Graph

141 Commits

Author SHA1 Message Date
khyari hamza bab4560dde feat(ops): add cleanup commands 2026-02-19 13:46:48 +00:00
khyari hamza d815339c52 feat(security): add secrets masking and validation (H-21/SEC5)
Implement centralized redaction utility that masks API keys, tokens,
and credentials across CLI output, structlog logs, and error messages.

- Add shared/redaction.py with pattern-based secret detection (sk-*,
  sk-ant-*, tok_*, Bearer tokens), sensitive key name detection,
  database URL masking, custom pattern registration, and thread-safe
  global show_secrets flag
- Add config/logging.py with structlog configuration integrating the
  secrets_masking_processor into the processor chain
- Add --show-secrets global CLI option to reveal secrets when needed
- Redact error details in main.py, project.py, and auto_debug.py
  error handlers before printing
- Wrap format_output() in formatting.py with automatic dict redaction
- Add show_secrets field and safe __repr__ to Settings model
- Add 43-scenario Behave feature (features/security_secrets.feature)
- Add 10 Robot Framework smoke tests (robot/security_secrets.robot)
- Add ASV benchmarks (benchmarks/security_secrets_bench.py)
- Add reference docs (docs/reference/secrets_handling.md)
2026-02-19 11:15:18 +00:00
brent.edwards e4705822b1 fix(test): increase subprocess timeouts in cli.robot and cli_core.robot
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 19s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 31s
CI / integration_tests (pull_request) Successful in 2m24s
CI / unit_tests (pull_request) Successful in 6m13s
CI / docker (pull_request) Successful in 14s
CI / benchmark-regression (pull_request) Successful in 8m40s
CI / coverage (pull_request) Successful in 13m4s
- Add timeout=60s to all Run Process calls in cli.robot (previously had
  no timeout, causing hangs under CI parallel load)
- Increase cli_core.robot timeouts from 30s to 60s to match other robot
  files
- Relax performance assertions from <30s to <60s to account for Python
  cold-start overhead under pabot parallel execution
2026-02-19 01:35:09 +00:00
brent.edwards 9802424a41 Merge branch 'master' into develop-20260217
CI / lint (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 21s
CI / build (pull_request) Successful in 24s
CI / typecheck (pull_request) Successful in 29s
CI / security (pull_request) Successful in 35s
CI / integration_tests (pull_request) Failing after 2m31s
CI / unit_tests (pull_request) Successful in 7m5s
CI / docker (pull_request) Successful in 1m1s
CI / coverage (pull_request) Successful in 10m41s
# Conflicts:
#	robot/database_integration.robot
2026-02-19 00:57:48 +00:00
CoreRasurae 1013baaa75 test(robot): fix failing integration tests related short timeouts for the CI
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 27s
CI / security (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 48s
CI / integration_tests (pull_request) Successful in 2m15s
CI / unit_tests (pull_request) Successful in 3m24s
CI / docker (pull_request) Successful in 38s
CI / coverage (pull_request) Successful in 9m52s
2026-02-19 00:22:32 +00:00
brent.edwards 2dfad7ec71 Merge branch 'master' into develop-20260217
CI / lint (pull_request) Successful in 13s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / security (pull_request) Successful in 25s
CI / typecheck (pull_request) Successful in 26s
CI / integration_tests (pull_request) Successful in 2m17s
CI / unit_tests (pull_request) Successful in 6m10s
CI / docker (pull_request) Successful in 37s
CI / coverage (pull_request) Successful in 13m53s
# Conflicts:
#	implementation_plan.md
2026-02-18 23:08:48 +00:00
brent.edwards b50987731a fix(test): resolve CI test failures from session isolation and subprocess timeouts
- Fix resource_repository Behave scenario 'Resolve by ULID returns the
  resource' by propagating res_type_name through context instead of
  relying on fragile list_types() across SQLAlchemy sessions
- Increase subprocess timeouts in Robot Framework integration tests to
  prevent SIGTERM kills under parallel execution load (10s->30s, 20s->60s,
  30s->60s across 7 robot files)
2026-02-18 22:59:09 +00:00
brent.edwards be99ecb8b4 feat: merge branch 'master' into develop-20260217
CI / lint (pull_request) Successful in 26s
CI / typecheck (pull_request) Successful in 1m0s
CI / security (pull_request) Successful in 49s
CI / quality (pull_request) Successful in 30s
CI / integration_tests (pull_request) Successful in 4m30s
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Failing after 51m10s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 1h19m25s
2026-02-18 16:12:07 +00:00
khyari hamza 12845d3a3c fix(test): make diagnostics --check robot test CI-safe
CI / lint (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 33s
CI / build (pull_request) Successful in 14s
CI / integration_tests (pull_request) Successful in 4m18s
CI / unit_tests (pull_request) Successful in 46m15s
CI / typecheck (pull_request) Successful in 26s
CI / docker (pull_request) Successful in 1m13s
CI / coverage (pull_request) Successful in 9m39s
The test now accepts both exit code 0 (no errors) and 1 (has errors)
since CI environments may have low disk space or missing tools that
trigger error-level diagnostic checks.
2026-02-18 15:28:48 +00:00
CoreRasurae 167f7eb672 test(robot): Fix failing integration tests due to multiple STDOUT file overwrites 2026-02-18 13:06:12 +00:00
khyari hamza 02c75fb4bb feat(cli): enhance version/info/diagnostics with --format and --check
Add structured data builders and Rich renderers for version, info, and
diagnostics commands. Support --format rich/plain/json/yaml output parity
and --check flag for diagnostics (exits non-zero on errors).

Includes Behave scenarios, Robot smoke tests, ASV benchmarks, and updates
existing tests to match the new Rich panel output format.
2026-02-18 12:18:03 +00:00
CoreRasurae bbd06d2fdd test(robot): Fix failing integration tests due to multiple STDOUT file overwrites 2026-02-18 09:57:37 +00:00
brent.edwards 24866b2244 Merge branch 'master' into develop-20260217 2026-02-18 03:27:00 +00:00
brent.edwards 629f286bd3 Merge branch 'feature/m3-skill-domain-robot' into develop-20260217
CI / lint (pull_request) Successful in 26s
CI / typecheck (pull_request) Successful in 1m0s
CI / security (pull_request) Successful in 48s
CI / quality (pull_request) Successful in 31s
CI / integration_tests (pull_request) Successful in 5m49s
CI / build (pull_request) Successful in 16s
CI / coverage (pull_request) Failing after 14m54s
CI / unit_tests (pull_request) Successful in 30m45s
CI / docker (pull_request) Successful in 42s
2026-02-18 02:45:31 +00:00
brent.edwards a2ec1ccc44 Merge branch 'feature/m3-tool-domain-robot' into develop-20260217 2026-02-18 02:45:27 +00:00
brent.edwards 0a7a8d15be Merge branch 'feature/m1-resource-db-robot-tests' into develop-20260217 2026-02-18 02:45:22 +00:00
brent.edwards 4e3150bd50 Merge branch 'feature/m3-session-domain-robot' into develop-20260217
# Conflicts:
#	implementation_plan.md
2026-02-18 02:45:08 +00:00
brent.edwards a9ee5fbc0e Merge branch 'feature/m3-session-persistence' into develop-20260217 2026-02-18 02:44:11 +00:00
brent.edwards 6f09f23d29 Merge branch 'feature/m1-persistence-tests' into develop-20260217
# Conflicts:
#	docs/development/testing.md
2026-02-18 02:43:58 +00:00
brent.edwards b6c1c72d43 Merge branch 'feature/m1-cli-tests' into develop-20260217 2026-02-18 02:43:05 +00:00
freemo 79f91c51b1 Tests: ensuring tests have coverage and work. 2026-02-17 20:55:49 -05:00
freemo a4db605e1c feat(tool): add resource binding resolution 2026-02-17 20:55:46 -05:00
freemo a8558f13ca feat(cli): add project context commands 2026-02-17 20:55:43 -05:00
freemo 08639183e2 feat(resource): add DAG linking and discovery 2026-02-17 20:55:32 -05:00
freemo 3b005ddcd4 feat(service): resolve automation profiles with precedence 2026-02-17 20:18:18 -05:00
freemo 7e7d2e7727 feat(execute): add changeset model and change capture 2026-02-17 20:18:15 -05:00
freemo 5480cd36fd feat(project): add context policy model 2026-02-17 20:07:38 -05:00
freemo 9464ec6285 feat(domain): add automation profile model and built-ins 2026-02-17 20:07:34 -05:00
freemo 093204a703 feat(resource): add fs-mount and fs-directory types 2026-02-17 20:07:31 -05:00
brent.edwards 686c834602 feat: merge branch 'master' into feature/m3-tool-domain-robot
CI / lint (pull_request) Failing after 24s
CI / typecheck (pull_request) Successful in 1m3s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 26s
CI / quality (pull_request) Successful in 33s
CI / build (pull_request) Successful in 16s
CI / integration_tests (pull_request) Successful in 10m26s
CI / unit_tests (pull_request) Successful in 16m18s
CI / docker (pull_request) Has been skipped
2026-02-17 17:02:27 -08:00
brent.edwards b528cde8e7 feat: merge branch 'master' into feature/m1-persistence-tests
CI / typecheck (pull_request) Waiting to run
CI / lint (pull_request) Waiting to run
CI / security (pull_request) Waiting to run
CI / quality (pull_request) Waiting to run
CI / unit_tests (pull_request) Waiting to run
CI / integration_tests (pull_request) Waiting to run
CI / coverage (pull_request) Blocked by required conditions
CI / build (pull_request) Waiting to run
CI / docker (pull_request) Blocked by required conditions
2026-02-18 00:43:28 +00:00
brent.edwards 60d10cef7c Merge branch 'master' into feature/m1-cli-tests
CI / lint (pull_request) Waiting to run
CI / typecheck (pull_request) Waiting to run
CI / security (pull_request) Waiting to run
CI / quality (pull_request) Waiting to run
CI / unit_tests (pull_request) Waiting to run
CI / integration_tests (pull_request) Waiting to run
CI / coverage (pull_request) Blocked by required conditions
CI / build (pull_request) Waiting to run
CI / docker (pull_request) Blocked by required conditions
2026-02-18 00:42:19 +00:00
brent.edwards b1c011702f feat: merge branch 'master' into feature/m3-skill-domain-robot 2026-02-18 00:21:04 +00:00
CoreRasurae 47cad3c77b feat(session): add session persistence and repositories
CI / lint (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 29s
CI / security (pull_request) Has been cancelled
CI / quality (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
2026-02-18 00:10:15 +00:00
brent.edwards 2840514729 feat: Merge branch 'master' into feature/m1-resource-db-robot-tests 2026-02-17 15:59:22 -08:00
brent.edwards 6c7bcab01e feat: merge branch 'master' into feature/m3-session-domain-robot 2026-02-17 15:56:13 -08:00
brent.edwards cdbd0bdd23 feat: merge branch 'master' into feature/m3-skill-cli
CI / lint (pull_request) Successful in 24s
CI / typecheck (pull_request) Successful in 32s
CI / quality (pull_request) Successful in 17s
CI / security (pull_request) Successful in 50s
CI / build (pull_request) Successful in 25s
CI / integration_tests (pull_request) Successful in 5m30s
CI / unit_tests (pull_request) Successful in 16m39s
CI / coverage (pull_request) Failing after 9m0s
CI / docker (pull_request) Successful in 55s
2026-02-17 22:45:44 +00:00
brent.edwards 3d2cd05f56 test(tool): add robot tool model smoke tests
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 28s
CI / quality (pull_request) Successful in 16s
CI / security (pull_request) Successful in 51s
CI / build (pull_request) Successful in 21s
CI / integration_tests (pull_request) Successful in 9m6s
CI / unit_tests (pull_request) Failing after 26m29s
CI / coverage (pull_request) Successful in 8m38s
CI / docker (pull_request) Has been skipped
2026-02-17 21:14:46 +00:00
brent.edwards 5d2e70cff0 test(db): add resource registry robot smoke test
CI / lint (pull_request) Successful in 14s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 25s
CI / quality (pull_request) Successful in 47s
CI / unit_tests (pull_request) Successful in 16m4s
CI / build (pull_request) Successful in 15s
CI / integration_tests (pull_request) Successful in 9m36s
CI / coverage (pull_request) Successful in 8m43s
CI / docker (pull_request) Successful in 40s
2026-02-17 21:07:54 +00:00
brent.edwards b9984cac57 Merge branch 'master' into feature/m3-actor-schema-examples
CI / lint (pull_request) Successful in 25s
CI / typecheck (pull_request) Successful in 1m1s
CI / security (pull_request) Successful in 49s
CI / quality (pull_request) Successful in 32s
CI / build (pull_request) Successful in 16s
CI / integration_tests (pull_request) Successful in 5m9s
CI / unit_tests (pull_request) Successful in 33m0s
CI / coverage (pull_request) Successful in 13m18s
CI / docker (pull_request) Successful in 58s
2026-02-17 12:58:19 -08:00
brent.edwards 5f77dd92cd build(merge): merge with master
CI / lint (pull_request) Successful in 14s
CI / typecheck (pull_request) Successful in 29s
CI / security (pull_request) Successful in 25s
CI / quality (pull_request) Successful in 16s
CI / build (pull_request) Successful in 15s
CI / integration_tests (pull_request) Successful in 10m27s
CI / unit_tests (pull_request) Failing after 16m54s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Failing after 8m50s
2026-02-17 20:57:37 +00:00
brent.edwards 4f32daa740 test(session): add robot session model smoke tests
CI / lint (pull_request) Successful in 14s
CI / typecheck (pull_request) Successful in 27s
CI / security (pull_request) Successful in 25s
CI / quality (pull_request) Successful in 16s
CI / integration_tests (pull_request) Successful in 5m12s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 33m49s
CI / coverage (pull_request) Successful in 8m30s
CI / docker (pull_request) Successful in 1m16s
2026-02-17 20:33:53 +00:00
CoreRasurae 798db9088e feat(tool): add tool registry persistence
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 36s
CI / security (pull_request) Successful in 25s
CI / quality (pull_request) Successful in 19s
CI / build (pull_request) Successful in 23s
CI / integration_tests (pull_request) Successful in 6m49s
CI / coverage (pull_request) Successful in 12m1s
CI / unit_tests (pull_request) Successful in 16m28s
CI / docker (pull_request) Successful in 51s
2026-02-17 20:28:20 +00:00
brent.edwards f912a136b7 test(persistence): add plan/action persistence suites
CI / lint (pull_request) Successful in 25s
CI / typecheck (pull_request) Successful in 59s
CI / security (pull_request) Successful in 49s
CI / quality (pull_request) Successful in 33s
CI / unit_tests (pull_request) Failing after 8m26s
CI / docker (pull_request) Has been skipped
CI / build (pull_request) Successful in 15s
CI / integration_tests (pull_request) Successful in 10m5s
CI / coverage (pull_request) Failing after 53s
2026-02-17 20:25:12 +00:00
brent.edwards b8d2bfe252 test(cli): expand lifecycle command coverage
CI / lint (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 35s
CI / security (pull_request) Successful in 36s
CI / quality (pull_request) Successful in 19s
CI / build (pull_request) Successful in 26s
CI / integration_tests (pull_request) Successful in 5m19s
CI / unit_tests (pull_request) Failing after 32m35s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Failing after 12m0s
2026-02-17 20:01:18 +00:00
brent.edwards f0815dd126 test(skill): add robot skill resolver smoke tests
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
CI / quality (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
2026-02-17 19:58:15 +00:00
aditya c562557da8 feat(cli): add skill commands
CI / security (pull_request) Successful in 24s
CI / typecheck (pull_request) Successful in 1m1s
CI / quality (pull_request) Successful in 16s
CI / build (pull_request) Successful in 24s
CI / integration_tests (pull_request) Successful in 5m22s
CI / lint (pull_request) Failing after 13s
CI / coverage (pull_request) Has been skipped
CI / unit_tests (pull_request) Successful in 33m12s
CI / docker (pull_request) Has been skipped
2026-02-17 14:44:40 +00:00
aditya 1f05648b2a test(actor): add Robot Framework integration tests for actor schema
Add Robot Framework smoke tests for actor schema validation:

- Valid actor tests: All 5 example YAMLs (LLM, tool, graph actors)
- Invalid name tests: Missing namespace validation
- Invalid LLM tests: Missing model field validation
- Invalid TOOL tests: Missing tools field validation
- Invalid GRAPH tests: Missing route and duplicate node IDs
- Helper script: CLI interface for schema validation from Robot

Part 9 of C1.schema implementation (Actor YAML Schema Models).
2026-02-17 13:46:04 +00:00
aditya 6d7b759f25 style(skill): apply ruff auto-formatting to skill schema files
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / lint (pull_request) Failing after 11s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 25s
CI / quality (pull_request) Successful in 17s
CI / integration_tests (pull_request) Successful in 5m29s
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Successful in 16m9s
2026-02-17 10:13:19 +00:00
aditya 08ad4ea683 Merge branch 'master' into feature/m3-skill-schema 2026-02-17 09:57:49 +00:00