feat: operational hardening + SIN-Brain memory integration (closes #8, #14, #15, #16)#23
Open
Delqhi wants to merge 2 commits into
Open
feat: operational hardening + SIN-Brain memory integration (closes #8, #14, #15, #16)#23Delqhi wants to merge 2 commits into
Delqhi wants to merge 2 commits into
Conversation
added 2 commits
May 30, 2026 08:22
…sistency (closes #8) WS1 CI: ci.yml with ruff lint+format gate and pytest matrix (3.11/3.12/3.13). WS2 lint: shared ruff config (E/F/I/W); one-shot mechanical format applied. WS3 release: release.yml builds sdist+wheel on v* tags, clean-env install check, GitHub Release upload, PyPI Trusted Publishing. WS4 consistency: scripts/check_consistency.py + tests (version alignment, subsystem import health, mcp-config<->serve entry point); --strict for CI. WS5 bootstrap: scripts/dev_install.sh + scripts/run_all_tests.sh. Also aligned __version__ to packaged 0.2.0.
…loses #14, #15, #16) BR-1 (Issue #14): Register SIN-Brain memory tools in 'sin serve' - memory.py adapter: recall/remember/forget/pin/link_evidence pass-throughs with graceful degradation when sin-brain absent. detect_env() reports tier sizes in 'sin status'. register_tools(mcp) wires MCP tools. BR-2 (Issue #15): 'sin agents-md' embeds sin-brain inject block - agents_md.py extended: memory playbook rows (recall, remember, link_evidence, forget) appear in the tool guidance when sin-brain available. - Negative constraints / red-zones section added (always present). - inject text from SIN-Brain embedded in 'Project memory' section. BR-3 (Issue #16): 'sin mcp-config' client validation + stdio hygiene - Acceptance criteria met by PR #6 (already in main): valid YAML/JSON/TOML, --write merge preserving foreign keys, serve logs to stderr. - Added explicit stdio hygiene test to lock contract. Tests: 8 memory adapter (graceful degradation, stats, tool registration), 5 agents-md (red-zones always present, memory rows conditional, idempotent with inject), existing agent integration all pass (122 total). CI gate: ruff check/format clean, 100% test pass, optional extras tested.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This consolidates multiple foundation PRs (#6 #7 #10 #11 #12 #13 #21) and completes four major WS/BR features from the operational-readiness and SIN-Brain memory roadmaps:
WS1–5: Operational Hardening (closes #8)
.github/workflows/ci.ymlwith ruff lint+format gate and pytest matrix across Python 3.11/3.12/3.13__version__aligned to 0.2.0.github/workflows/release.ymlbuilds sdist+wheel onv*tags, clean-env install check, GitHub Release upload, PyPI Trusted Publishingscripts/check_consistency.py+ tests verify version alignment, subsystem import health, mcp-config↔serve entry point;--strictmode for full-stack CIscripts/dev_install.sh+scripts/run_all_tests.shfor editable multi-repo setupBR-1: Register SIN-Brain Memory Tools (closes #14)
memory.pyadapter: thin pass-through bridge tosin_brain.mcp_tools(recall/remember/forget/pin/link_evidence)Falseinsin status, tools raiseMemoryUnavailablewith clean JSON errorsdetect_env()probes availability + tier sizes;register_tools(mcp)wires MCP tools only when SIN-Brain importableBR-2: Agents-md SIN-Brain Inject Block (closes #15)
BR-3: MCP-Config Client Validation (closes #16)
--writemerges without clobbering, stdio hygiene (serve logs to stderr, JSON-RPC to stdout)Test Coverage
Foundation PRs Merged
sin mcp-config <client>Generator (opencode|codex|hermes) #2/WS4:sin agents-mdGenerator (AGENTS.md fuer opencode/codex) #4)Files Added/Modified
Notes