Optional cfgit plugin for deterministic system-impact summaries and opt-in LLM narration of database record diffs
Project description
cfgit-impact
Optional system-impact analysis for cfgit.
This package is deliberately outside src/cfg/core/. The cfgit core stays LLM-free and provider-free; this plugin owns both deterministic impact analysis and optional LLM narration.
Install
Install cfgit with the database extras you use, then install the optional impact plugin from PyPI into the same Python environment:
pip install 'cfgit[mongo,postgres,mcp]'
pip install cfgit-impact
For pipx installs:
pipx install 'cfgit[mongo,postgres,mcp]'
pipx inject cfgit cfgit-impact
Boundary
src/cfg/core/never imports this plugin.src/cfg/core/never imports vendor SDKs or provider clients.- The main action layer imports
cfg_impact.overviewonly whencfg impactor the UI/MCP impact action is called. - Provider selection comes from
[connections].ai_providerunless a caller passesprovider.
Provider Pattern
The provider layer uses a small factory pattern:
cfg_impact.providers.base.BaseImpactProvidercfg_impact.providers.factory.ImpactProviderFactorycfg_impact.providers.claude.ClaudeProvidercfg_impact.providers.openai_provider.OpenAIProvidercfg_impact.providers.gemini.GeminiProvider
The impact engine calls narrate() or complete(). It never imports a vendor module directly.
Commands
Deterministic local analysis:
cfg impact agent_configs:agent_planner =HEAD =live --json
Opt-in LLM narration:
cfg impact agent_configs:agent_planner =HEAD =live --llm --json
Scope narration to selected records instead of the whole system:
cfg impact agent_configs:agent_planner --against agent_configs:critic --against modelgarden_models:openai/gpt-4o-mini --llm --json
LLM narration is refused unless the record is listed in
[connections].share_with_ai. The payload sent to the provider is bounded and
secret-stripped. It includes real before/after field diffs for the changed record,
plus only allowlisted text from related records. In scoped mode, only selected
records are included in the system map.
The plugin uses ANTHROPIC_API_KEY for claude, OPENAI_API_KEY for openai,
and GEMINI_API_KEY or GOOGLE_API_KEY for gemini.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cfgit_impact-0.1.2.tar.gz.
File metadata
- Download URL: cfgit_impact-0.1.2.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd0755f54623c829fea7cbfb371e5460ea0c925f5e469cb791f27969ed6a3a92
|
|
| MD5 |
598e3b033054733c9a03583ae9aca8e5
|
|
| BLAKE2b-256 |
3e617842ae7c658f3aacbe7f944276f94e9c00bf19024e5ee5411bab3e138056
|
Provenance
The following attestation bundles were made for cfgit_impact-0.1.2.tar.gz:
Publisher:
publish.yml on AusafMo/cfgit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cfgit_impact-0.1.2.tar.gz -
Subject digest:
cd0755f54623c829fea7cbfb371e5460ea0c925f5e469cb791f27969ed6a3a92 - Sigstore transparency entry: 2044637810
- Sigstore integration time:
-
Permalink:
AusafMo/cfgit@645b9df3a6454c3eba284c8fcbdeac626c5bcc2b -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/AusafMo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@645b9df3a6454c3eba284c8fcbdeac626c5bcc2b -
Trigger Event:
release
-
Statement type:
File details
Details for the file cfgit_impact-0.1.2-py3-none-any.whl.
File metadata
- Download URL: cfgit_impact-0.1.2-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eefc35f59205f5429a441857635390abba890125b9b54ee75faf7fce52e8e26e
|
|
| MD5 |
2d0059ad5269b8085726b8494c0985e6
|
|
| BLAKE2b-256 |
56b1ee5d655d2397e71af3cf7b5618517406b2105907c63fec3a1c9c1c814b85
|
Provenance
The following attestation bundles were made for cfgit_impact-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on AusafMo/cfgit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cfgit_impact-0.1.2-py3-none-any.whl -
Subject digest:
eefc35f59205f5429a441857635390abba890125b9b54ee75faf7fce52e8e26e - Sigstore transparency entry: 2044637852
- Sigstore integration time:
-
Permalink:
AusafMo/cfgit@645b9df3a6454c3eba284c8fcbdeac626c5bcc2b -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/AusafMo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@645b9df3a6454c3eba284c8fcbdeac626c5bcc2b -
Trigger Event:
release
-
Statement type: