Commit graph

5 commits

Author SHA1 Message Date
OmniForge Migration
fe5c3a4d1a feat(ci): migrar .github/workflows → .forgejo/workflows (Forgejo Actions)
Some checks are pending
CI / TypeScript (lint + test + build) (push) Waiting to run
CI / Python (lint + test) (push) Waiting to run
CI / Secret scan (push) Waiting to run
CI / Benchmark (informational) (push) Blocked by required conditions
2026-04-25 20:03:15 -03:00
Jesse Freitas
180efcdff7 ci: gitleaks --no-git (scan só working tree, não histórico)
Some checks are pending
CI / Python (lint + test) (push) Waiting to run
CI / Secret scan (push) Waiting to run
CI / Benchmark (informational) (push) Blocked by required conditions
CI / TypeScript (lint + test + build) (push) Waiting to run
2026-04-24 08:46:32 -03:00
Jesse Freitas
970d8dabd8 ci: fix gitleaks (first push) + desabilitar CodeQL em repo private 2026-04-24 08:36:46 -03:00
Jesse Freitas
d60d3f6dcb fix: ruff import sorting (I001) em __init__.py e test_compact.py 2026-04-24 08:34:22 -03:00
Jesse Freitas
5fc3ea3d2d feat: initial release — omni-token-economy v0.1.0 (clean, zero secrets)
Biblioteca universal de compactação de tokens para aplicações LLM.
Zero lock-in de backend — funciona com qualquer dict/object + regras declarativas.

Core API (paridade TS ↔ Python):

- compactRecord / compact_record — remove redundância via regras declarativas
- compactRecords / compact_records — map em lista
- compressContext / compress_context — adaptive: top-N verbatim + summary pro resto
- compactSecret / compact_secret — whitelist only, valor NUNCA sai (A.8.12)
- estimateTokens, detectRedundancy, compactTimestamp — helpers

Testes: 27 TS (vitest) + 27 Py (pytest). Fixtures sanitizadas — todos os valores
de teste usam placeholders FAKE_TEST_TOKEN_DO_NOT_USE obviamente fake.

Regra cardinal #5 (CLAUDE.md): fixtures jamais contêm credencial real.

Compliance ISO 27001 / OmniForge baseline:
- A.8.10 (exclusão de info desnecessária) — função primária
- A.8.11 (mascaramento) — compact_secret whitelist-only
- A.8.12 (prevenção de vazamento) — impossível retornar valor de secret
- A.8.25/28/29 (dev seguro, codificação, testes) — SDD + TDD + paridade

Stack:
- TypeScript: Node 24+, ESM, vitest — zero runtime deps
- Python: 3.11+, pytest, hatchling — zero runtime deps
- CI: lint + test × (3.11, 3.12, 3.13) + gitleaks + CodeQL + benchmark

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 01:35:25 -03:00