Commit Graph

518 Commits

Author SHA1 Message Date
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
khyari hamza 359e3c4af2 chore: WIP branch for feat(security): add secrets masking and validation
Refs: H-21, SEC5.secrets
Planned: Day 13
2026-02-19 11:14:43 +00:00
brent.edwards 93f96a074e Merge pull request 'A merge of nine sets of code.' (#101) from develop-20260217 into master
CI / lint (push) Successful in 15s
CI / build (push) Successful in 17s
CI / quality (push) Successful in 19s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 32s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 3m19s
CI / unit_tests (push) Successful in 4m17s
CI / docker (push) Successful in 8s
CI / benchmark-publish (push) Failing after 6m25s
CI / coverage (push) Successful in 10m40s
Reviewed-on: #101
2026-02-19 01:59:57 +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 99f2f66a38 Merge branch 'master' into develop-20260217 2026-02-19 01:22:52 +00:00
brent.edwards 7cfdc13ea7 Merge pull request 'mngrif-asv-test' (#108) from mngrif-asv-test into master
CI / lint (push) Successful in 16s
CI / quality (push) Successful in 18s
CI / build (push) Successful in 22s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 33s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 2m20s
CI / unit_tests (push) Successful in 3m33s
CI / docker (push) Successful in 1m18s
CI / benchmark-publish (push) Failing after 6m24s
CI / coverage (push) Successful in 9m31s
Reviewed-on: #108
2026-02-19 01:09: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
brent.edwards 2ea59a624f Merge branch 'master' into mngrif-asv-test
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 16s
CI / build (pull_request) Successful in 24s
CI / typecheck (pull_request) Successful in 38s
CI / security (pull_request) Successful in 45s
CI / integration_tests (pull_request) Successful in 3m10s
CI / unit_tests (pull_request) Successful in 5m54s
CI / docker (pull_request) Successful in 8s
CI / benchmark-regression (pull_request) Successful in 8m25s
CI / coverage (pull_request) Successful in 24m48s
2026-02-19 00:38:20 +00:00
brent.edwards 5977dcb6e2 Merge pull request 'test(unit): fix failing tests related to RichTerm usage' (#110) from test/fix-unit-tests2 into master
CI / lint (push) Successful in 14s
CI / build (push) Successful in 18s
CI / quality (push) Successful in 18s
CI / typecheck (push) Successful in 27s
CI / security (push) Successful in 28s
CI / integration_tests (push) Successful in 3m4s
CI / unit_tests (push) Successful in 3m41s
CI / docker (push) Successful in 13s
CI / coverage (push) Successful in 18m8s
Reviewed-on: #110
2026-02-19 00:34:33 +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
mngrif d5af40eefd Merge branch 'master' into mngrif-asv-test
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 20s
CI / security (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 37s
CI / integration_tests (pull_request) Failing after 2m15s
CI / unit_tests (pull_request) Successful in 4m34s
CI / docker (pull_request) Successful in 50s
CI / benchmark-regression (pull_request) Successful in 9m9s
CI / coverage (pull_request) Successful in 9m39s
2026-02-19 00:03:54 +00:00
CoreRasurae 272f6fc255 test(unit): fix failing tests related to RichTerm usage
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 19s
CI / typecheck (pull_request) Successful in 32s
CI / security (pull_request) Successful in 39s
CI / integration_tests (pull_request) Failing after 2m20s
CI / unit_tests (pull_request) Successful in 3m42s
CI / docker (pull_request) Successful in 50s
CI / coverage (pull_request) Successful in 11m8s
2026-02-18 23:55:05 +00:00
mngrif 805a4b9374 testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 18s
CI / security (pull_request) Successful in 23s
CI / typecheck (pull_request) Successful in 30s
CI / unit_tests (pull_request) Successful in 3m35s
CI / docker (pull_request) Successful in 9s
CI / integration_tests (pull_request) Successful in 5m17s
CI / benchmark-regression (pull_request) Successful in 6m22s
CI / coverage (pull_request) Successful in 8m20s
2026-02-18 18:49:45 -05:00
mngrif e25d73cca0 testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 22s
CI / quality (pull_request) Successful in 23s
CI / security (pull_request) Successful in 27s
CI / typecheck (pull_request) Successful in 30s
CI / unit_tests (pull_request) Successful in 3m30s
CI / docker (pull_request) Successful in 8s
CI / integration_tests (pull_request) Successful in 4m21s
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
2026-02-18 18:40:44 -05:00
mngrif c2d6e71563 testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 45s
CI / unit_tests (pull_request) Successful in 3m49s
CI / integration_tests (pull_request) Successful in 4m30s
CI / docker (pull_request) Successful in 42s
CI / benchmark-regression (pull_request) Failing after 5m15s
CI / coverage (pull_request) Successful in 7m33s
2026-02-18 18:25:28 -05: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
mngrif c4c4fd1544 testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 18s
CI / build (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 29s
CI / benchmark-regression (pull_request) Failing after 43s
CI / unit_tests (pull_request) Successful in 3m23s
CI / docker (pull_request) Successful in 37s
CI / integration_tests (pull_request) Successful in 4m24s
CI / coverage (pull_request) Successful in 7m16s
2026-02-18 17:57:27 -05:00
mngrif f9f4503c6c testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / quality (pull_request) Successful in 16s
CI / build (pull_request) Successful in 16s
CI / security (pull_request) Successful in 25s
CI / typecheck (pull_request) Successful in 27s
CI / benchmark-regression (pull_request) Failing after 1m5s
CI / unit_tests (pull_request) Successful in 3m27s
CI / docker (pull_request) Successful in 37s
CI / integration_tests (pull_request) Successful in 4m18s
CI / coverage (pull_request) Successful in 7m29s
2026-02-18 17:45:07 -05:00
mngrif 3960385491 testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 18s
CI / security (pull_request) Successful in 22s
CI / typecheck (pull_request) Successful in 28s
CI / benchmark-regression (pull_request) Failing after 32s
CI / unit_tests (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
2026-02-18 17:41:45 -05:00
mngrif de447d4bd7 testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 21s
CI / typecheck (pull_request) Successful in 27s
CI / security (pull_request) Successful in 33s
CI / benchmark-regression (pull_request) Failing after 40s
CI / docker (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
2026-02-18 17:33:45 -05:00
mngrif 745228e7c6 testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 16s
CI / security (pull_request) Successful in 23s
CI / typecheck (pull_request) Successful in 26s
CI / benchmark-regression (pull_request) Failing after 1m26s
CI / integration_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
2026-02-18 17:30:18 -05:00
mngrif 341495769d testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 18s
CI / lint (pull_request) Successful in 21s
CI / security (pull_request) Successful in 26s
CI / typecheck (pull_request) Successful in 31s
CI / benchmark-regression (pull_request) Failing after 52s
CI / unit_tests (pull_request) Successful in 3m24s
CI / coverage (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
2026-02-18 17:24:04 -05:00
mngrif 114c798e61 testing airspeedvelocity
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 14s
CI / quality (pull_request) Successful in 16s
CI / build (pull_request) Successful in 15s
CI / security (pull_request) Successful in 25s
CI / typecheck (pull_request) Successful in 30s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / unit_tests (pull_request) Successful in 3m30s
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 4m10s
2026-02-18 15:22:22 -05:00
mngrif 05f4007462 testing airspeedvelocity 2026-02-18 15:21:22 -05:00
brent.edwards 5331608d3f Merge pull request 'feat(cli): add version/info/diagnostics [H-23, CLI0.core]' (#86) from feature/m4-cli-core into master
CI / lint (push) Successful in 14s
CI / build (push) Successful in 14s
CI / quality (push) Successful in 15s
CI / typecheck (push) Successful in 37s
CI / security (push) Successful in 42s
CI / integration_tests (push) Failing after 2m11s
CI / unit_tests (push) Successful in 3m48s
CI / docker (push) Successful in 50s
CI / coverage (push) Successful in 9m42s
Reviewed-on: #86
2026-02-18 20:18:54 +00:00
mngrif e9530ffae0 testing airspeedvelocity 2026-02-18 15:13:22 -05:00
mngrif 7c30e5bb6e testing airspeedvelocity 2026-02-18 15:09:39 -05:00
mngrif 8ea70953e9 testing airspeedvelocity
ci.yml / testing airspeedvelocity (push) Has been cancelled
2026-02-18 15:02:15 -05:00
mngrif 8f6b2a29b8 testing airspeedvelocity
asv / asv-pr (push) Has been skipped
asv / asv-publish (push) Successful in 4m43s
2026-02-18 13:00:15 -05:00
freemo ca29259a3a Docs: Updated implementation plan
CI / lint (push) Successful in 16s
CI / quality (push) Successful in 18s
CI / security (push) Successful in 37s
CI / typecheck (push) Successful in 43s
CI / build (push) Successful in 19s
CI / integration_tests (push) Successful in 4m9s
CI / unit_tests (push) Successful in 18m15s
CI / docker (push) Successful in 9s
CI / coverage (push) Failing after 40m25s
2026-02-18 12:57:31 -05:00
mngrif 41e02ca01c testing airspeedvelocity
asv / asv-pr (push) Has been skipped
asv / asv-publish (push) Failing after 3m17s
2026-02-18 12:51:02 -05: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
brent.edwards 257c9d6503 Merge pull request 'Fix master branch breakage' (#103) from test/fix-failing-tests into master
CI / lint (push) Successful in 16s
CI / typecheck (push) Successful in 30s
CI / security (push) Successful in 26s
CI / quality (push) Successful in 16s
CI / integration_tests (push) Successful in 3m58s
CI / build (push) Successful in 16s
CI / unit_tests (push) Successful in 19m15s
CI / docker (push) Successful in 16s
CI / coverage (push) Successful in 1h8m52s
Reviewed-on: #103
2026-02-18 16:01:50 +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
mngrif 86604db0d1 testing airspeedvelocity
asv / asv-pr (push) Has been skipped
asv / asv-publish (push) Failing after 3m22s
2026-02-18 10:04:27 -05:00
mngrif 1c8a3f4a1e testing airspeedvelocity
asv / asv-pr (push) Has been skipped
asv / asv-publish (push) Failing after 50s
2026-02-18 10:02:40 -05:00
mngrif 2f74726509 testing airspeedvelocity
asv / asv-pr (push) Has been skipped
asv / asv-publish (push) Failing after 52s
2026-02-18 09:57:50 -05:00
CoreRasurae cee42640ba test(bench): fix session commits, duplicate type guard, ULID uniqueness
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 29s
CI / security (pull_request) Successful in 26s
CI / quality (pull_request) Successful in 16s
CI / unit_tests (pull_request) Successful in 18m14s
CI / build (pull_request) Successful in 16s
CI / docker (pull_request) Successful in 43s
CI / integration_tests (pull_request) Failing after 10m29s
CI / coverage (pull_request) Successful in 1h9m40s
2026-02-18 13:06:12 +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 94f370af6a docs(plan): mark H-23 quality gates as complete (coverage 97.7%)
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 26s
CI / quality (pull_request) Successful in 16s
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 12:54:24 +00:00
khyari hamza 5371cd0f80 docs(plan): mark H-23 CLI0.core as complete 2026-02-18 12:19:14 +00:00
khyari hamza c0b51c445d docs(cli): add system command reference and diagnostics check list 2026-02-18 12:18:42 +00:00
brent.edwards 8445db3858 fix: align tool registry coverage and resource links
CI / lint (pull_request) Successful in 22s
CI / security (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 31s
CI / quality (pull_request) Successful in 31s
CI / build (pull_request) Successful in 26s
CI / integration_tests (pull_request) Successful in 4m24s
CI / unit_tests (pull_request) Failing after 20m10s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 2h33m25s
2026-02-18 12:18:26 +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
khyari hamza 1c2fe1b5f8 chore: WIP branch for feat(cli): add version/info/diagnostics
Refs: H-23, CLI0.core
Planned: Day 10
2026-02-18 12:18:03 +00:00
CoreRasurae 69c88d301a test(bench): fix session commits, duplicate type guard, ULID uniqueness
CI / lint (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 38s
CI / typecheck (pull_request) Successful in 41s
CI / build (pull_request) Successful in 18s
CI / integration_tests (pull_request) Successful in 4m5s
CI / unit_tests (pull_request) Successful in 18m23s
CI / docker (pull_request) Successful in 1m4s
CI / coverage (pull_request) Successful in 2h17m56s
2026-02-18 11:32:24 +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 52f74f3ddb Merge master into develop-20260217 2026-02-18 05:52:05 +00:00
freemo 2c8c6283f0 Fix: Minor linting issue
CI / lint (push) Successful in 16s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 43s
CI / typecheck (push) Successful in 51s
CI / build (push) Successful in 20s
CI / integration_tests (push) Successful in 3m57s
CI / unit_tests (push) Successful in 18m46s
CI / docker (push) Successful in 42s
CI / coverage (push) Successful in 1h17m35s
2026-02-18 00:18:12 -05:00