fcc-agent-team-ext 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fcc_agent_team_ext-0.2.0/LICENSE +21 -0
- fcc_agent_team_ext-0.2.0/PKG-INFO +238 -0
- fcc_agent_team_ext-0.2.0/README.md +192 -0
- fcc_agent_team_ext-0.2.0/pyproject.toml +101 -0
- fcc_agent_team_ext-0.2.0/setup.cfg +4 -0
- fcc_agent_team_ext-0.2.0/src/fcc/__init__.py +3 -0
- fcc_agent_team_ext-0.2.0/src/fcc/_resources.py +51 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/__init__.py +0 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/docs/constitution_template.yaml +37 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/docs/prompt_topics.yaml +78 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/docs/tutorial_topics.yaml +129 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/governance/quality_gates.yaml +263 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/governance/tag_registry.yaml +126 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/champions.yaml +404 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/core_personas.yaml +456 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/cross_reference.yaml +598 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimension_definitions.yaml +233 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimension_interpretation_guide.yaml +191 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/ams_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/bc_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/bchm_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/bv_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/cia_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/co_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/de_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/dgs_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/ec_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/gca_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/pte_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/rb_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/rbch_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/rc_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/rchm_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/ric_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/rs_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/scp_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/smc_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/ste_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/ts_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/ug_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/ugch_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/dimensions/umc_profile.yaml +309 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/governance_compliance.yaml +276 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/integration_specialists.yaml +644 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/personas/stakeholder_hub.yaml +460 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/scenarios/advanced_scenarios.json +380 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/scenarios/starter_scenarios.json +171 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/schemas/cross_reference.schema.json +41 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/schemas/persona.schema.json +160 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/schemas/traces.schema.json +37 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/schemas/workflow.schema.json +54 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/workflows/base_sequence.json +27 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/workflows/complete_24.json +93 -0
- fcc_agent_team_ext-0.2.0/src/fcc/data/workflows/extended_sequence.json +71 -0
- fcc_agent_team_ext-0.2.0/src/fcc/governance/__init__.py +11 -0
- fcc_agent_team_ext-0.2.0/src/fcc/governance/compliance.py +53 -0
- fcc_agent_team_ext-0.2.0/src/fcc/governance/quality_gates.py +98 -0
- fcc_agent_team_ext-0.2.0/src/fcc/governance/tags.py +83 -0
- fcc_agent_team_ext-0.2.0/src/fcc/personas/__init__.py +36 -0
- fcc_agent_team_ext-0.2.0/src/fcc/personas/cross_reference.py +160 -0
- fcc_agent_team_ext-0.2.0/src/fcc/personas/dimensions.py +171 -0
- fcc_agent_team_ext-0.2.0/src/fcc/personas/models.py +215 -0
- fcc_agent_team_ext-0.2.0/src/fcc/personas/registry.py +166 -0
- fcc_agent_team_ext-0.2.0/src/fcc/py.typed +0 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scaffold/__init__.py +1 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scaffold/cli.py +191 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scaffold/config.py +109 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scaffold/doc_generator.py +227 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scaffold/engine.py +47 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scaffold/project.py +84 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scenarios/__init__.py +15 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scenarios/loader.py +95 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scenarios/models.py +105 -0
- fcc_agent_team_ext-0.2.0/src/fcc/scenarios/validators.py +307 -0
- fcc_agent_team_ext-0.2.0/src/fcc/simulation/__init__.py +17 -0
- fcc_agent_team_ext-0.2.0/src/fcc/simulation/ai_client.py +328 -0
- fcc_agent_team_ext-0.2.0/src/fcc/simulation/ai_engine.py +198 -0
- fcc_agent_team_ext-0.2.0/src/fcc/simulation/engine.py +85 -0
- fcc_agent_team_ext-0.2.0/src/fcc/simulation/messages.py +84 -0
- fcc_agent_team_ext-0.2.0/src/fcc/simulation/prompts.py +191 -0
- fcc_agent_team_ext-0.2.0/src/fcc/simulation/traces.py +40 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/cross-reference/constitution-framework.md.j2 +41 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/cross-reference/coordination-methods.md.j2 +43 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/cross-reference/matrix.md.j2 +68 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/constitution.md.j2 +48 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/coordination.md.j2 +46 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/index.md.j2 +39 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/package/index.md.j2 +28 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/prompts/index.md.j2 +26 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/prompts/prompt.md.j2 +38 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/specification.md.j2 +120 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/tutorials/index.md.j2 +26 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/tutorials/tutorial.md.j2 +47 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/workflows/index.md.j2 +12 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/persona/workflows/workflow.md.j2 +38 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/docs/sitemap.md.j2 +34 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/project/CLAUDE.md.j2 +20 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/project/Makefile.j2 +33 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/project/gitignore.j2 +18 -0
- fcc_agent_team_ext-0.2.0/src/fcc/templates/project/pyproject.toml.j2 +43 -0
- fcc_agent_team_ext-0.2.0/src/fcc/workflow/__init__.py +11 -0
- fcc_agent_team_ext-0.2.0/src/fcc/workflow/graph.py +169 -0
- fcc_agent_team_ext-0.2.0/src/fcc/workflow/models.py +62 -0
- fcc_agent_team_ext-0.2.0/src/fcc_agent_team_ext.egg-info/PKG-INFO +238 -0
- fcc_agent_team_ext-0.2.0/src/fcc_agent_team_ext.egg-info/SOURCES.txt +130 -0
- fcc_agent_team_ext-0.2.0/src/fcc_agent_team_ext.egg-info/dependency_links.txt +1 -0
- fcc_agent_team_ext-0.2.0/src/fcc_agent_team_ext.egg-info/entry_points.txt +2 -0
- fcc_agent_team_ext-0.2.0/src/fcc_agent_team_ext.egg-info/requires.txt +20 -0
- fcc_agent_team_ext-0.2.0/src/fcc_agent_team_ext.egg-info/top_level.txt +1 -0
- fcc_agent_team_ext-0.2.0/tests/test_advanced_scenarios.py +380 -0
- fcc_agent_team_ext-0.2.0/tests/test_ai_client.py +492 -0
- fcc_agent_team_ext-0.2.0/tests/test_champion_personas.py +212 -0
- fcc_agent_team_ext-0.2.0/tests/test_core_docs.py +100 -0
- fcc_agent_team_ext-0.2.0/tests/test_coverage_push.py +385 -0
- fcc_agent_team_ext-0.2.0/tests/test_cross_reference.py +732 -0
- fcc_agent_team_ext-0.2.0/tests/test_dimension_profiles.py +313 -0
- fcc_agent_team_ext-0.2.0/tests/test_doc_generator.py +234 -0
- fcc_agent_team_ext-0.2.0/tests/test_dynamic_validation.py +210 -0
- fcc_agent_team_ext-0.2.0/tests/test_extended_docs.py +112 -0
- fcc_agent_team_ext-0.2.0/tests/test_extended_personas.py +246 -0
- fcc_agent_team_ext-0.2.0/tests/test_governance.py +220 -0
- fcc_agent_team_ext-0.2.0/tests/test_integration.py +174 -0
- fcc_agent_team_ext-0.2.0/tests/test_persona_dimensions.py +534 -0
- fcc_agent_team_ext-0.2.0/tests/test_personas.py +454 -0
- fcc_agent_team_ext-0.2.0/tests/test_resources.py +83 -0
- fcc_agent_team_ext-0.2.0/tests/test_scaffold_cli.py +84 -0
- fcc_agent_team_ext-0.2.0/tests/test_scaffold_engine.py +139 -0
- fcc_agent_team_ext-0.2.0/tests/test_scenarios.py +148 -0
- fcc_agent_team_ext-0.2.0/tests/test_scenarios_models.py +117 -0
- fcc_agent_team_ext-0.2.0/tests/test_simulation.py +249 -0
- fcc_agent_team_ext-0.2.0/tests/test_smoke.py +26 -0
- fcc_agent_team_ext-0.2.0/tests/test_workflow.py +204 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 INFORMATION COLLECTIVE, LLC
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fcc-agent-team-ext
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: FCC (Find → Create → Critique) Agent Team Framework
|
|
5
|
+
Author: INFORMATION COLLECTIVE, LLC
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Repository, https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext
|
|
8
|
+
Project-URL: Documentation, https://rollingthunderfourtytwo-afk.github.io/l2_fcc_agent_team_ext/
|
|
9
|
+
Project-URL: Changelog, https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext/blob/main/CHANGELOG.md
|
|
10
|
+
Project-URL: Issues, https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext/issues
|
|
11
|
+
Keywords: fcc,agent,workflow,simulation,docs-as-code,personas,riscear
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Education
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
17
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
18
|
+
Classifier: Typing :: Typed
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Requires-Python: >=3.10
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
Requires-Dist: pyyaml>=6.0
|
|
28
|
+
Requires-Dist: jsonschema>=4.23
|
|
29
|
+
Requires-Dist: click>=8.0
|
|
30
|
+
Requires-Dist: jinja2>=3.1
|
|
31
|
+
Requires-Dist: anthropic>=0.18.0
|
|
32
|
+
Requires-Dist: openai>=1.0.0
|
|
33
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
36
|
+
Requires-Dist: pytest-cov>=4.0; extra == "dev"
|
|
37
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
38
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
39
|
+
Requires-Dist: twine>=5.0; extra == "dev"
|
|
40
|
+
Provides-Extra: docs
|
|
41
|
+
Requires-Dist: mkdocs>=1.5; extra == "docs"
|
|
42
|
+
Requires-Dist: mkdocs-material>=9.4; extra == "docs"
|
|
43
|
+
Requires-Dist: mkdocs-material-extensions>=1.3; extra == "docs"
|
|
44
|
+
Requires-Dist: pymdown-extensions>=10.0; extra == "docs"
|
|
45
|
+
Dynamic: license-file
|
|
46
|
+
|
|
47
|
+
# FCC Agent Team Extension
|
|
48
|
+
|
|
49
|
+
[](https://pypi.org/project/fcc-agent-team-ext/)
|
|
50
|
+

|
|
51
|
+

|
|
52
|
+

|
|
53
|
+

|
|
54
|
+
|
|
55
|
+
**FCC (Find → Create → Critique)** agent workflow framework — a clean, well-structured Python package for orchestrating documentation agent teams.
|
|
56
|
+
|
|
57
|
+
## Quick Start
|
|
58
|
+
|
|
59
|
+
### For Users
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
pip install fcc-agent-team-ext
|
|
63
|
+
fcc --version
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### For Contributors
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git clone https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext.git
|
|
70
|
+
cd l2_fcc_agent_team_ext
|
|
71
|
+
make venv && source .venv/bin/activate
|
|
72
|
+
make install-dev
|
|
73
|
+
make test && make lint
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## What is FCC?
|
|
77
|
+
|
|
78
|
+
FCC is a three-phase workflow for documentation creation:
|
|
79
|
+
|
|
80
|
+
1. **Find** — Research personas gather and synthesize information
|
|
81
|
+
2. **Create** — Design, operations, and user-facing personas produce artifacts
|
|
82
|
+
3. **Critique** — Review and governance personas ensure quality
|
|
83
|
+
|
|
84
|
+
**24 personas** across 5 categories collaborate through message-passing workflows with feedback loops:
|
|
85
|
+
|
|
86
|
+
| Category | Count | Personas |
|
|
87
|
+
|----------|-------|----------|
|
|
88
|
+
| **Core** | 5 | Research Crafter, Blueprint Crafter, Documentation Evangelist, Runbook Crafter, User Guide Crafter |
|
|
89
|
+
| **Integration** | 7 | Catalog Indexer Architect, UI Mockup Crafter, Semantic Taxonomy Engineer, Traceability Specialist, Blueprint Validator, Research Inventory Crafter, Governance Compliance Auditor |
|
|
90
|
+
| **Governance** | 3 | Data Governance Specialist, Privacy Taxonomy Engineer, Anti-fact Mitigation Specialist |
|
|
91
|
+
| **Stakeholder** | 5 | Collaboration Orchestrator, SAFe Metrics Crafter, Executive Communicator, Roadmap Synchronizer, Stakeholder Content Publisher |
|
|
92
|
+
| **Champion** | 4 | Research Crafter Champion, Blueprint Crafter Champion, User Guide Crafter Champion, Runbook Crafter Champion |
|
|
93
|
+
|
|
94
|
+
Champions are elevated personas that orchestrate teams of base personas (e.g., Research Crafter Champion coordinates RC, CIA, STE, and RIC).
|
|
95
|
+
|
|
96
|
+
## Who Is This For?
|
|
97
|
+
|
|
98
|
+
- **Beginners / Students** — Learn agent orchestration patterns, persona-based workflows, and documentation-as-code methodologies through a well-structured, tested codebase with comprehensive examples.
|
|
99
|
+
- **Developers** — Build agent-powered documentation pipelines using a modular Python framework with CLI tooling, simulation engines, and Jinja2 template generation.
|
|
100
|
+
- **Researchers** — Study the R.I.S.C.E.A.R. persona specification, 56-dimension persona profiling, Discernment Matrix, and Design Target Factors as formal models for human-AI collaboration.
|
|
101
|
+
- **Practitioners** — Deploy FCC workflows in enterprise settings with governance controls, quality gates, capability tagging, and Scaled Agile alignment.
|
|
102
|
+
|
|
103
|
+
## R.I.S.C.E.A.R. Framework
|
|
104
|
+
|
|
105
|
+
The full R.I.S.C.E.A.R. specification defines personas with 10 core components:
|
|
106
|
+
|
|
107
|
+
| Component | Purpose |
|
|
108
|
+
|-----------|---------|
|
|
109
|
+
| **R**ole | Identity and function |
|
|
110
|
+
| **I**nput | Data and background information |
|
|
111
|
+
| **S**tyle | Tone, language, and format |
|
|
112
|
+
| **C**onstraints | Limitations and requirements |
|
|
113
|
+
| **E**xpected Output | Desired structure and detail |
|
|
114
|
+
| **A**rchetype | Fundamental character/persona |
|
|
115
|
+
| **R**esponsibilities | Duties and ethical obligations |
|
|
116
|
+
| Role **S**kills | Skills for job execution |
|
|
117
|
+
| Role **C**ollaborators | Team collaboration patterns |
|
|
118
|
+
| Role **A**doption Checklist | Integration validation |
|
|
119
|
+
|
|
120
|
+
Plus: **Discernment Matrix** (6 traits), **Design Target Factors** (6 factors), and a **56-dimension Persona system** across 9 categories — all 24 personas fully populated with dimension profiles, discernment matrices, and design target factors.
|
|
121
|
+
|
|
122
|
+
## Key Concepts
|
|
123
|
+
|
|
124
|
+
- **FCC Cycle** — The three-phase workflow (Find → Create → Critique) that structures how documentation is researched, produced, and reviewed. Artifacts flow forward through phases, with feedback edges enabling iterative refinement.
|
|
125
|
+
- **Personas** — AI agent roles defined by the R.I.S.C.E.A.R. specification. Each persona has a specific function, communication style, constraints, and collaboration patterns. 24 personas span 5 categories.
|
|
126
|
+
- **Champions** — Elevated personas that orchestrate teams of base personas. Each champion coordinates 3-4 team members, enabling top-down coordination alongside bottom-up message passing.
|
|
127
|
+
- **Cross-Reference Matrix** — A queryable 100+ entry interaction map across 5 relationship types (handoff, feedback, coordination, governance, champion-of). Supports upstream, downstream, peer, and relationship-type queries to understand how all 24 personas collaborate.
|
|
128
|
+
- **Workflow Graphs** — Directed graphs where nodes are personas and edges are message-passing connections. Three predefined graphs (5-node, 20-node, 24-node) support different levels of complexity. Traversed via BFS for deterministic activation ordering.
|
|
129
|
+
- **Scenarios** — Predefined test cases that exercise specific FCC workflows. Each scenario specifies participating personas, the workflow graph, and validation rules. 17 scenarios cover basic through advanced orchestration patterns.
|
|
130
|
+
- **Quality Gates** — Automated validation checkpoints that enforce documentation standards. 28 gates with configurable severity (error, warning, info) ensure completeness, compliance, and structural integrity. Includes 3 cross-reference integrity gates.
|
|
131
|
+
|
|
132
|
+
## Project Structure
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
src/fcc/
|
|
136
|
+
├── _resources.py Centralized data/template path resolution (importlib.resources)
|
|
137
|
+
├── personas/ Persona models, R.I.S.C.E.A.R. specs, dimensions, registry, cross-reference matrix
|
|
138
|
+
├── workflow/ Workflow graph models, traversal, BFS
|
|
139
|
+
├── simulation/ Deterministic + AI-powered simulation engine
|
|
140
|
+
├── scenarios/ Scenario loading, dynamic validation framework
|
|
141
|
+
├── scaffold/ CLI tool (fcc init, add-persona, validate, generate-docs, sitemap)
|
|
142
|
+
├── governance/ Capability tags, quality gates, compliance
|
|
143
|
+
├── data/ Package data (included in wheel distribution)
|
|
144
|
+
│ ├── personas/ 24 personas across 5 YAML files + cross-reference matrix + dimensions
|
|
145
|
+
│ ├── workflows/ 3 workflow graphs (base 5-node, extended 20-node, complete 24-node)
|
|
146
|
+
│ ├── schemas/ JSON Schema for personas, workflows, traces, cross-references
|
|
147
|
+
│ ├── scenarios/ 17 scenarios (6 starter + 11 advanced)
|
|
148
|
+
│ ├── governance/ Tag registry (30 tags) + quality gate definitions (28 gates)
|
|
149
|
+
│ └── docs/ Topic registries (21 tutorials, 24 prompts, constitution template)
|
|
150
|
+
└── templates/
|
|
151
|
+
├── project/ Jinja2 templates for project scaffolding
|
|
152
|
+
└── docs/ 15 Jinja2 templates for docs-as-code generation
|
|
153
|
+
|
|
154
|
+
tests/ 1168 tests across 24 test files (100% coverage)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Architecture Overview
|
|
158
|
+
|
|
159
|
+
```mermaid
|
|
160
|
+
graph TB
|
|
161
|
+
YAML[YAML Personas] --> REG[PersonaRegistry]
|
|
162
|
+
REG --> SIM[Simulation Engine]
|
|
163
|
+
REG --> DOC[Doc Generator]
|
|
164
|
+
SIM --> TRACE[Traces]
|
|
165
|
+
DOC --> DOCS[1,348 Doc Files]
|
|
166
|
+
GOV[Governance] --> SIM
|
|
167
|
+
CLI[fcc CLI] --> SIM
|
|
168
|
+
CLI --> DOC
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## CLI
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
fcc init --name "my-project" --dir ./my-project # Bootstrap FCC project
|
|
175
|
+
fcc add-persona "Custom Analyst" --phase Find --id CA # Add persona
|
|
176
|
+
fcc validate # Check project structure
|
|
177
|
+
fcc simulate --scenario GEN-001 # Run simulation
|
|
178
|
+
fcc generate-docs --dir ./docs --personas all # Generate all 1,348 doc files
|
|
179
|
+
fcc generate-docs --dir ./docs --personas core # Generate core persona docs only
|
|
180
|
+
fcc validate-docs --dir ./docs # Validate generated docs
|
|
181
|
+
fcc sitemap --dir ./docs # Generate SITEMAP.md
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Phase Roadmap
|
|
185
|
+
|
|
186
|
+
| Phase | Status | Tests | Description |
|
|
187
|
+
|-------|--------|-------|-------------|
|
|
188
|
+
| 1. Foundation | Done | 3 | Project skeleton, packaging, smoke tests |
|
|
189
|
+
| 2. Core FCC | Done | 43 | Personas, workflow graph, registry |
|
|
190
|
+
| 3. Simulation | Done | 32 | Engine, traces, AI client, scenarios |
|
|
191
|
+
| 4. Scaffolding CLI | Done | 22 | `fcc init`, templates, project config |
|
|
192
|
+
| 5. Governance | Done | 21 | Tags, quality gates, compliance |
|
|
193
|
+
| R.I.S.C.E.A.R. Expansion | Done | 259 total | Full 10-component spec, dimensions, strategic architecture |
|
|
194
|
+
| Extended Persona Gallery | Done | 693 total | 24 personas, cross-reference matrix, champion architecture, docs-as-code (1,348 files), dynamic validation |
|
|
195
|
+
| CI/CD, Scenarios & Docs | Done | 726 total | GitHub Actions CI/CD, MkDocs deployment, 11 advanced scenarios, 5 new validation rules, comprehensive documentation |
|
|
196
|
+
| Coverage Push to 100% | Done | 757 total | 100% line coverage across 20 test files |
|
|
197
|
+
| Phase 5.5: Profiles & Docs UX | Done | 877+ total | 24 dimension profiles, documentation overhaul, MkDocs UX, 50 hand-written pages, 13 tutorials |
|
|
198
|
+
| Phase 6: Cross-Reference Expansion | Done | 1030+ total | Cross-reference matrix 16→106 entries, governance/champion-of types, 3 quality gates, 9 new doc pages |
|
|
199
|
+
| Phase 7: Distribution | Done | 1168 total | PyPI packaging, release automation, data relocation, `_resources` module, comprehensive distribution docs |
|
|
200
|
+
|
|
201
|
+
## Documentation Site
|
|
202
|
+
|
|
203
|
+
The FCC documentation site is built with MkDocs Material and offers 8 audience-targeted navigation paths:
|
|
204
|
+
|
|
205
|
+
| Audience | Entry Point |
|
|
206
|
+
|----------|-------------|
|
|
207
|
+
| Beginners / Students | Getting Started → Tutorials |
|
|
208
|
+
| Developers | Developer Guide |
|
|
209
|
+
| Researchers | Specification |
|
|
210
|
+
| Practitioners | Tutorials → Customization |
|
|
211
|
+
| Decision Makers | For Decision Makers |
|
|
212
|
+
| Managers / Team Leads | For Teams |
|
|
213
|
+
| Content Strategists | Personas → Specification |
|
|
214
|
+
| Open Source Contributors | Developer Guide → Contributing |
|
|
215
|
+
|
|
216
|
+
## Next Steps
|
|
217
|
+
|
|
218
|
+
- **Advanced Automation (Phase 8)** — Custom persona templates, plugin system, template marketplace
|
|
219
|
+
- **Agent-Human Collaboration (Phase 9)** — Feedback loop instrumentation, human-in-the-loop handoff protocols
|
|
220
|
+
- **Scaled Agile Integration (Phase 10)** — Architectural runway management, portfolio-level orchestration
|
|
221
|
+
|
|
222
|
+
## Documentation
|
|
223
|
+
|
|
224
|
+
- [QUICKSTART.md](QUICKSTART.md) — 60-second getting started guide
|
|
225
|
+
- [ARCHITECTURE.md](ARCHITECTURE.md) — Detailed module walkthrough, data flow, and design decisions
|
|
226
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to add personas, scenarios, templates, and more
|
|
227
|
+
- [GLOSSARY.md](GLOSSARY.md) — Comprehensive glossary of FCC terms and all 24 personas
|
|
228
|
+
- [CHANGELOG.md](CHANGELOG.md) — Release history and notable changes
|
|
229
|
+
- [ROADMAP.md](ROADMAP.md) — Project roadmap and future milestones
|
|
230
|
+
- [STRATEGIC_ARCHITECTURE_REVIEW.md](STRATEGIC_ARCHITECTURE_REVIEW.md) — Cross-project alignment and canonical authority
|
|
231
|
+
|
|
232
|
+
## Contributing
|
|
233
|
+
|
|
234
|
+
Contributions are welcome! Whether you are fixing a bug, adding a persona, improving documentation, or proposing a new feature, we would appreciate your help. Please read the [CONTRIBUTING.md](CONTRIBUTING.md) guide for development setup, code style, testing requirements, and the pull request process.
|
|
235
|
+
|
|
236
|
+
## License
|
|
237
|
+
|
|
238
|
+
MIT License. Copyright (c) INFORMATION COLLECTIVE, LLC. See [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# FCC Agent Team Extension
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/fcc-agent-team-ext/)
|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
**FCC (Find → Create → Critique)** agent workflow framework — a clean, well-structured Python package for orchestrating documentation agent teams.
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
### For Users
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install fcc-agent-team-ext
|
|
17
|
+
fcc --version
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### For Contributors
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
git clone https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext.git
|
|
24
|
+
cd l2_fcc_agent_team_ext
|
|
25
|
+
make venv && source .venv/bin/activate
|
|
26
|
+
make install-dev
|
|
27
|
+
make test && make lint
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## What is FCC?
|
|
31
|
+
|
|
32
|
+
FCC is a three-phase workflow for documentation creation:
|
|
33
|
+
|
|
34
|
+
1. **Find** — Research personas gather and synthesize information
|
|
35
|
+
2. **Create** — Design, operations, and user-facing personas produce artifacts
|
|
36
|
+
3. **Critique** — Review and governance personas ensure quality
|
|
37
|
+
|
|
38
|
+
**24 personas** across 5 categories collaborate through message-passing workflows with feedback loops:
|
|
39
|
+
|
|
40
|
+
| Category | Count | Personas |
|
|
41
|
+
|----------|-------|----------|
|
|
42
|
+
| **Core** | 5 | Research Crafter, Blueprint Crafter, Documentation Evangelist, Runbook Crafter, User Guide Crafter |
|
|
43
|
+
| **Integration** | 7 | Catalog Indexer Architect, UI Mockup Crafter, Semantic Taxonomy Engineer, Traceability Specialist, Blueprint Validator, Research Inventory Crafter, Governance Compliance Auditor |
|
|
44
|
+
| **Governance** | 3 | Data Governance Specialist, Privacy Taxonomy Engineer, Anti-fact Mitigation Specialist |
|
|
45
|
+
| **Stakeholder** | 5 | Collaboration Orchestrator, SAFe Metrics Crafter, Executive Communicator, Roadmap Synchronizer, Stakeholder Content Publisher |
|
|
46
|
+
| **Champion** | 4 | Research Crafter Champion, Blueprint Crafter Champion, User Guide Crafter Champion, Runbook Crafter Champion |
|
|
47
|
+
|
|
48
|
+
Champions are elevated personas that orchestrate teams of base personas (e.g., Research Crafter Champion coordinates RC, CIA, STE, and RIC).
|
|
49
|
+
|
|
50
|
+
## Who Is This For?
|
|
51
|
+
|
|
52
|
+
- **Beginners / Students** — Learn agent orchestration patterns, persona-based workflows, and documentation-as-code methodologies through a well-structured, tested codebase with comprehensive examples.
|
|
53
|
+
- **Developers** — Build agent-powered documentation pipelines using a modular Python framework with CLI tooling, simulation engines, and Jinja2 template generation.
|
|
54
|
+
- **Researchers** — Study the R.I.S.C.E.A.R. persona specification, 56-dimension persona profiling, Discernment Matrix, and Design Target Factors as formal models for human-AI collaboration.
|
|
55
|
+
- **Practitioners** — Deploy FCC workflows in enterprise settings with governance controls, quality gates, capability tagging, and Scaled Agile alignment.
|
|
56
|
+
|
|
57
|
+
## R.I.S.C.E.A.R. Framework
|
|
58
|
+
|
|
59
|
+
The full R.I.S.C.E.A.R. specification defines personas with 10 core components:
|
|
60
|
+
|
|
61
|
+
| Component | Purpose |
|
|
62
|
+
|-----------|---------|
|
|
63
|
+
| **R**ole | Identity and function |
|
|
64
|
+
| **I**nput | Data and background information |
|
|
65
|
+
| **S**tyle | Tone, language, and format |
|
|
66
|
+
| **C**onstraints | Limitations and requirements |
|
|
67
|
+
| **E**xpected Output | Desired structure and detail |
|
|
68
|
+
| **A**rchetype | Fundamental character/persona |
|
|
69
|
+
| **R**esponsibilities | Duties and ethical obligations |
|
|
70
|
+
| Role **S**kills | Skills for job execution |
|
|
71
|
+
| Role **C**ollaborators | Team collaboration patterns |
|
|
72
|
+
| Role **A**doption Checklist | Integration validation |
|
|
73
|
+
|
|
74
|
+
Plus: **Discernment Matrix** (6 traits), **Design Target Factors** (6 factors), and a **56-dimension Persona system** across 9 categories — all 24 personas fully populated with dimension profiles, discernment matrices, and design target factors.
|
|
75
|
+
|
|
76
|
+
## Key Concepts
|
|
77
|
+
|
|
78
|
+
- **FCC Cycle** — The three-phase workflow (Find → Create → Critique) that structures how documentation is researched, produced, and reviewed. Artifacts flow forward through phases, with feedback edges enabling iterative refinement.
|
|
79
|
+
- **Personas** — AI agent roles defined by the R.I.S.C.E.A.R. specification. Each persona has a specific function, communication style, constraints, and collaboration patterns. 24 personas span 5 categories.
|
|
80
|
+
- **Champions** — Elevated personas that orchestrate teams of base personas. Each champion coordinates 3-4 team members, enabling top-down coordination alongside bottom-up message passing.
|
|
81
|
+
- **Cross-Reference Matrix** — A queryable 100+ entry interaction map across 5 relationship types (handoff, feedback, coordination, governance, champion-of). Supports upstream, downstream, peer, and relationship-type queries to understand how all 24 personas collaborate.
|
|
82
|
+
- **Workflow Graphs** — Directed graphs where nodes are personas and edges are message-passing connections. Three predefined graphs (5-node, 20-node, 24-node) support different levels of complexity. Traversed via BFS for deterministic activation ordering.
|
|
83
|
+
- **Scenarios** — Predefined test cases that exercise specific FCC workflows. Each scenario specifies participating personas, the workflow graph, and validation rules. 17 scenarios cover basic through advanced orchestration patterns.
|
|
84
|
+
- **Quality Gates** — Automated validation checkpoints that enforce documentation standards. 28 gates with configurable severity (error, warning, info) ensure completeness, compliance, and structural integrity. Includes 3 cross-reference integrity gates.
|
|
85
|
+
|
|
86
|
+
## Project Structure
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
src/fcc/
|
|
90
|
+
├── _resources.py Centralized data/template path resolution (importlib.resources)
|
|
91
|
+
├── personas/ Persona models, R.I.S.C.E.A.R. specs, dimensions, registry, cross-reference matrix
|
|
92
|
+
├── workflow/ Workflow graph models, traversal, BFS
|
|
93
|
+
├── simulation/ Deterministic + AI-powered simulation engine
|
|
94
|
+
├── scenarios/ Scenario loading, dynamic validation framework
|
|
95
|
+
├── scaffold/ CLI tool (fcc init, add-persona, validate, generate-docs, sitemap)
|
|
96
|
+
├── governance/ Capability tags, quality gates, compliance
|
|
97
|
+
├── data/ Package data (included in wheel distribution)
|
|
98
|
+
│ ├── personas/ 24 personas across 5 YAML files + cross-reference matrix + dimensions
|
|
99
|
+
│ ├── workflows/ 3 workflow graphs (base 5-node, extended 20-node, complete 24-node)
|
|
100
|
+
│ ├── schemas/ JSON Schema for personas, workflows, traces, cross-references
|
|
101
|
+
│ ├── scenarios/ 17 scenarios (6 starter + 11 advanced)
|
|
102
|
+
│ ├── governance/ Tag registry (30 tags) + quality gate definitions (28 gates)
|
|
103
|
+
│ └── docs/ Topic registries (21 tutorials, 24 prompts, constitution template)
|
|
104
|
+
└── templates/
|
|
105
|
+
├── project/ Jinja2 templates for project scaffolding
|
|
106
|
+
└── docs/ 15 Jinja2 templates for docs-as-code generation
|
|
107
|
+
|
|
108
|
+
tests/ 1168 tests across 24 test files (100% coverage)
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Architecture Overview
|
|
112
|
+
|
|
113
|
+
```mermaid
|
|
114
|
+
graph TB
|
|
115
|
+
YAML[YAML Personas] --> REG[PersonaRegistry]
|
|
116
|
+
REG --> SIM[Simulation Engine]
|
|
117
|
+
REG --> DOC[Doc Generator]
|
|
118
|
+
SIM --> TRACE[Traces]
|
|
119
|
+
DOC --> DOCS[1,348 Doc Files]
|
|
120
|
+
GOV[Governance] --> SIM
|
|
121
|
+
CLI[fcc CLI] --> SIM
|
|
122
|
+
CLI --> DOC
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## CLI
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
fcc init --name "my-project" --dir ./my-project # Bootstrap FCC project
|
|
129
|
+
fcc add-persona "Custom Analyst" --phase Find --id CA # Add persona
|
|
130
|
+
fcc validate # Check project structure
|
|
131
|
+
fcc simulate --scenario GEN-001 # Run simulation
|
|
132
|
+
fcc generate-docs --dir ./docs --personas all # Generate all 1,348 doc files
|
|
133
|
+
fcc generate-docs --dir ./docs --personas core # Generate core persona docs only
|
|
134
|
+
fcc validate-docs --dir ./docs # Validate generated docs
|
|
135
|
+
fcc sitemap --dir ./docs # Generate SITEMAP.md
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Phase Roadmap
|
|
139
|
+
|
|
140
|
+
| Phase | Status | Tests | Description |
|
|
141
|
+
|-------|--------|-------|-------------|
|
|
142
|
+
| 1. Foundation | Done | 3 | Project skeleton, packaging, smoke tests |
|
|
143
|
+
| 2. Core FCC | Done | 43 | Personas, workflow graph, registry |
|
|
144
|
+
| 3. Simulation | Done | 32 | Engine, traces, AI client, scenarios |
|
|
145
|
+
| 4. Scaffolding CLI | Done | 22 | `fcc init`, templates, project config |
|
|
146
|
+
| 5. Governance | Done | 21 | Tags, quality gates, compliance |
|
|
147
|
+
| R.I.S.C.E.A.R. Expansion | Done | 259 total | Full 10-component spec, dimensions, strategic architecture |
|
|
148
|
+
| Extended Persona Gallery | Done | 693 total | 24 personas, cross-reference matrix, champion architecture, docs-as-code (1,348 files), dynamic validation |
|
|
149
|
+
| CI/CD, Scenarios & Docs | Done | 726 total | GitHub Actions CI/CD, MkDocs deployment, 11 advanced scenarios, 5 new validation rules, comprehensive documentation |
|
|
150
|
+
| Coverage Push to 100% | Done | 757 total | 100% line coverage across 20 test files |
|
|
151
|
+
| Phase 5.5: Profiles & Docs UX | Done | 877+ total | 24 dimension profiles, documentation overhaul, MkDocs UX, 50 hand-written pages, 13 tutorials |
|
|
152
|
+
| Phase 6: Cross-Reference Expansion | Done | 1030+ total | Cross-reference matrix 16→106 entries, governance/champion-of types, 3 quality gates, 9 new doc pages |
|
|
153
|
+
| Phase 7: Distribution | Done | 1168 total | PyPI packaging, release automation, data relocation, `_resources` module, comprehensive distribution docs |
|
|
154
|
+
|
|
155
|
+
## Documentation Site
|
|
156
|
+
|
|
157
|
+
The FCC documentation site is built with MkDocs Material and offers 8 audience-targeted navigation paths:
|
|
158
|
+
|
|
159
|
+
| Audience | Entry Point |
|
|
160
|
+
|----------|-------------|
|
|
161
|
+
| Beginners / Students | Getting Started → Tutorials |
|
|
162
|
+
| Developers | Developer Guide |
|
|
163
|
+
| Researchers | Specification |
|
|
164
|
+
| Practitioners | Tutorials → Customization |
|
|
165
|
+
| Decision Makers | For Decision Makers |
|
|
166
|
+
| Managers / Team Leads | For Teams |
|
|
167
|
+
| Content Strategists | Personas → Specification |
|
|
168
|
+
| Open Source Contributors | Developer Guide → Contributing |
|
|
169
|
+
|
|
170
|
+
## Next Steps
|
|
171
|
+
|
|
172
|
+
- **Advanced Automation (Phase 8)** — Custom persona templates, plugin system, template marketplace
|
|
173
|
+
- **Agent-Human Collaboration (Phase 9)** — Feedback loop instrumentation, human-in-the-loop handoff protocols
|
|
174
|
+
- **Scaled Agile Integration (Phase 10)** — Architectural runway management, portfolio-level orchestration
|
|
175
|
+
|
|
176
|
+
## Documentation
|
|
177
|
+
|
|
178
|
+
- [QUICKSTART.md](QUICKSTART.md) — 60-second getting started guide
|
|
179
|
+
- [ARCHITECTURE.md](ARCHITECTURE.md) — Detailed module walkthrough, data flow, and design decisions
|
|
180
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to add personas, scenarios, templates, and more
|
|
181
|
+
- [GLOSSARY.md](GLOSSARY.md) — Comprehensive glossary of FCC terms and all 24 personas
|
|
182
|
+
- [CHANGELOG.md](CHANGELOG.md) — Release history and notable changes
|
|
183
|
+
- [ROADMAP.md](ROADMAP.md) — Project roadmap and future milestones
|
|
184
|
+
- [STRATEGIC_ARCHITECTURE_REVIEW.md](STRATEGIC_ARCHITECTURE_REVIEW.md) — Cross-project alignment and canonical authority
|
|
185
|
+
|
|
186
|
+
## Contributing
|
|
187
|
+
|
|
188
|
+
Contributions are welcome! Whether you are fixing a bug, adding a persona, improving documentation, or proposing a new feature, we would appreciate your help. Please read the [CONTRIBUTING.md](CONTRIBUTING.md) guide for development setup, code style, testing requirements, and the pull request process.
|
|
189
|
+
|
|
190
|
+
## License
|
|
191
|
+
|
|
192
|
+
MIT License. Copyright (c) INFORMATION COLLECTIVE, LLC. See [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=64.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "fcc-agent-team-ext"
|
|
7
|
+
dynamic = ["version"]
|
|
8
|
+
description = "FCC (Find → Create → Critique) Agent Team Framework"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "MIT"
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "INFORMATION COLLECTIVE, LLC"}
|
|
14
|
+
]
|
|
15
|
+
keywords = ["fcc", "agent", "workflow", "simulation", "docs-as-code", "personas", "riscear"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 4 - Beta",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Intended Audience :: Education",
|
|
20
|
+
"Intended Audience :: Science/Research",
|
|
21
|
+
"Topic :: Software Development :: Documentation",
|
|
22
|
+
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
|
23
|
+
"Typing :: Typed",
|
|
24
|
+
"Programming Language :: Python :: 3",
|
|
25
|
+
"Programming Language :: Python :: 3.10",
|
|
26
|
+
"Programming Language :: Python :: 3.11",
|
|
27
|
+
"Programming Language :: Python :: 3.12",
|
|
28
|
+
"Programming Language :: Python :: 3.13",
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
dependencies = [
|
|
32
|
+
"pyyaml>=6.0",
|
|
33
|
+
"jsonschema>=4.23",
|
|
34
|
+
"click>=8.0",
|
|
35
|
+
"jinja2>=3.1",
|
|
36
|
+
"anthropic>=0.18.0",
|
|
37
|
+
"openai>=1.0.0",
|
|
38
|
+
"python-dotenv>=1.0.0",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
[project.optional-dependencies]
|
|
42
|
+
dev = [
|
|
43
|
+
"pytest>=7.0",
|
|
44
|
+
"pytest-cov>=4.0",
|
|
45
|
+
"ruff>=0.1.0",
|
|
46
|
+
"build>=1.0",
|
|
47
|
+
"twine>=5.0",
|
|
48
|
+
]
|
|
49
|
+
docs = [
|
|
50
|
+
"mkdocs>=1.5",
|
|
51
|
+
"mkdocs-material>=9.4",
|
|
52
|
+
"mkdocs-material-extensions>=1.3",
|
|
53
|
+
"pymdown-extensions>=10.0",
|
|
54
|
+
]
|
|
55
|
+
|
|
56
|
+
[project.scripts]
|
|
57
|
+
fcc = "fcc.scaffold.cli:main"
|
|
58
|
+
|
|
59
|
+
[project.urls]
|
|
60
|
+
Repository = "https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext"
|
|
61
|
+
Documentation = "https://rollingthunderfourtytwo-afk.github.io/l2_fcc_agent_team_ext/"
|
|
62
|
+
Changelog = "https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext/blob/main/CHANGELOG.md"
|
|
63
|
+
Issues = "https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext/issues"
|
|
64
|
+
|
|
65
|
+
[tool.setuptools.dynamic]
|
|
66
|
+
version = {attr = "fcc.__version__"}
|
|
67
|
+
|
|
68
|
+
[tool.setuptools.packages.find]
|
|
69
|
+
where = ["src"]
|
|
70
|
+
|
|
71
|
+
[tool.setuptools.package-data]
|
|
72
|
+
"fcc" = [
|
|
73
|
+
"data/**/*.yaml",
|
|
74
|
+
"data/**/*.json",
|
|
75
|
+
"templates/**/*.j2",
|
|
76
|
+
"py.typed",
|
|
77
|
+
]
|
|
78
|
+
|
|
79
|
+
[tool.pytest.ini_options]
|
|
80
|
+
testpaths = ["tests"]
|
|
81
|
+
python_files = ["test_*.py"]
|
|
82
|
+
python_functions = ["test_*"]
|
|
83
|
+
addopts = "-v --tb=short"
|
|
84
|
+
|
|
85
|
+
[tool.ruff]
|
|
86
|
+
line-length = 120
|
|
87
|
+
target-version = "py310"
|
|
88
|
+
|
|
89
|
+
[tool.ruff.lint]
|
|
90
|
+
select = ["E", "F", "W", "I", "UP", "B", "C4"]
|
|
91
|
+
ignore = ["E501"]
|
|
92
|
+
|
|
93
|
+
[tool.coverage.run]
|
|
94
|
+
source = ["src/fcc"]
|
|
95
|
+
omit = ["tests/*"]
|
|
96
|
+
|
|
97
|
+
[tool.coverage.report]
|
|
98
|
+
exclude_lines = [
|
|
99
|
+
"pragma: no cover",
|
|
100
|
+
"if __name__ == .__main__.:",
|
|
101
|
+
]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"""Centralized resource path resolution for FCC package data."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import importlib.resources
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def _package_root() -> Path:
|
|
10
|
+
"""Return the root directory of the fcc package."""
|
|
11
|
+
return Path(str(importlib.resources.files("fcc")))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def get_data_dir() -> Path:
|
|
15
|
+
"""Return the path to the package data directory."""
|
|
16
|
+
return _package_root() / "data"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def get_personas_dir() -> Path:
|
|
20
|
+
"""Return the path to the personas data directory."""
|
|
21
|
+
return get_data_dir() / "personas"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def get_schemas_dir() -> Path:
|
|
25
|
+
"""Return the path to the JSON schemas directory."""
|
|
26
|
+
return get_data_dir() / "schemas"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def get_workflows_dir() -> Path:
|
|
30
|
+
"""Return the path to the workflow definitions directory."""
|
|
31
|
+
return get_data_dir() / "workflows"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def get_scenarios_dir() -> Path:
|
|
35
|
+
"""Return the path to the scenarios directory."""
|
|
36
|
+
return get_data_dir() / "scenarios"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def get_governance_dir() -> Path:
|
|
40
|
+
"""Return the path to the governance data directory."""
|
|
41
|
+
return get_data_dir() / "governance"
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def get_docs_data_dir() -> Path:
|
|
45
|
+
"""Return the path to the docs data directory (topics, templates)."""
|
|
46
|
+
return get_data_dir() / "docs"
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def get_templates_dir() -> Path:
|
|
50
|
+
"""Return the path to the Jinja2 templates directory."""
|
|
51
|
+
return _package_root() / "templates"
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
constitution:
|
|
2
|
+
hard_stop:
|
|
3
|
+
description: "Rules that must never be violated. Violations require immediate halt and review."
|
|
4
|
+
default_rules:
|
|
5
|
+
- "Never fabricate data or sources"
|
|
6
|
+
- "Never bypass quality gates without explicit authorization"
|
|
7
|
+
- "Never modify production artifacts without audit trail"
|
|
8
|
+
|
|
9
|
+
mandatory:
|
|
10
|
+
description: "Rules that must be followed in all circumstances. Exceptions require documented justification."
|
|
11
|
+
default_rules:
|
|
12
|
+
- "All deliverables must pass quality gate checks"
|
|
13
|
+
- "All artifacts must be version-controlled"
|
|
14
|
+
- "Cross-references must be validated before handoff"
|
|
15
|
+
- "Collaboration links must be documented"
|
|
16
|
+
|
|
17
|
+
preferred:
|
|
18
|
+
description: "Best practices that should be followed when possible. Deviations acceptable with rationale."
|
|
19
|
+
default_rules:
|
|
20
|
+
- "Use structured formats over prose where applicable"
|
|
21
|
+
- "Include examples in all documentation"
|
|
22
|
+
- "Tag artifacts with capability identifiers"
|
|
23
|
+
- "Document assumptions and limitations"
|
|
24
|
+
|
|
25
|
+
workflows:
|
|
26
|
+
- name: scaffold
|
|
27
|
+
description: "Generate new artifact from scratch"
|
|
28
|
+
- name: refactor
|
|
29
|
+
description: "Improve existing artifact structure and quality"
|
|
30
|
+
- name: debug
|
|
31
|
+
description: "Fix issues and errors in artifacts"
|
|
32
|
+
- name: test
|
|
33
|
+
description: "Validate artifact against standards"
|
|
34
|
+
- name: compare
|
|
35
|
+
description: "Evaluate multiple approaches or versions"
|
|
36
|
+
- name: document
|
|
37
|
+
description: "Generate documentation summary"
|