Skip to content

Commit c829c76

Browse files
authored
Merge pull request #1 from Coding-Autopilot-System/docs/portfolio-hardening-20260610
fix: restore runnable enterprise-grade autogen workbench
2 parents 1f0aa72 + ac09a1b commit c829c76

27 files changed

Lines changed: 1492 additions & 68 deletions

.env.example

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Legacy dashboard and AutoGen provider configuration
2+
AUTOGEN_PROVIDER=gemini
3+
AUTOGEN_APPROVAL_WORD=APPROVE
4+
AUTOGEN_STATE_DIR=state
5+
AUTOGEN_REPO_SCAN_ROOT=C:\PersonalRepo
6+
7+
# Active Microsoft Agent Framework provider configuration
8+
MAF_API_KEY=
9+
MAF_MODEL=gemini-2.5-flash
10+
MAF_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/
11+
MAF_REPO_ROOT=C:\PersonalRepo
12+
MAF_ENTITIES_DIR=entities
13+
MAF_CHECKPOINT_DIR=state\maf-checkpoints
14+
MAF_ROUTE_LANE=auto
15+
16+
# Gemini API and optional CLI fallback
17+
GEMINI_API_KEY=
18+
GEMINI_MODEL=gemini-2.5-flash
19+
GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/
20+
GEMINI_CLI_COMMAND=gemini.cmd
21+
GEMINI_CLI_MODEL=
22+
23+
# Optional Anthropic API and local CLI fallbacks
24+
ANTHROPIC_API_KEY=
25+
ANTHROPIC_MODEL=claude-sonnet-4-6
26+
CLAUDE_CLI_COMMAND=claude
27+
CLAUDE_CLI_MODEL=
28+
CLAUDE_CODE_GIT_BASH_PATH=
29+
CODEX_CLI_COMMAND=codex.cmd
30+
CODEX_CLI_MODEL=

.github/workflows/ci.yml

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,44 @@ on:
55
branches: [ main ]
66
pull_request:
77

8+
permissions:
9+
contents: read
10+
11+
concurrency:
12+
group: ci-${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
815
jobs:
916
test:
10-
runs-on: ubuntu-latest
17+
name: Python ${{ matrix.python-version }} / ${{ matrix.os }}
18+
runs-on: ${{ matrix.os }}
19+
timeout-minutes: 20
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
os: [ubuntu-latest, windows-latest]
24+
python-version: ['3.12']
25+
1126
steps:
12-
- uses: actions/checkout@v4
27+
- uses: actions/checkout@v6
1328

14-
- name: Set up Python 3.12
15-
uses: actions/setup-python@v5
29+
- name: Set up Python
30+
uses: actions/setup-python@v6
1631
with:
17-
python-version: '3.12'
32+
python-version: ${{ matrix.python-version }}
33+
cache: pip
34+
35+
- name: Install dependencies
36+
run: python -m pip install -r requirements.txt
37+
38+
- name: Verify dependency consistency
39+
run: python -m pip check
40+
41+
- name: Run full test suite
42+
run: python -m pytest -q --tb=short
1843

19-
- name: Install test runner
20-
run: pip install pytest
44+
- name: Compile Python sources
45+
run: python -m compileall autogen_starter autogen_dashboard maf_starter main.py -q
2146

22-
- name: Run static contract tests
23-
run: python -m pytest tests/test_phase5_ui_contract.py tests/test_phase5_operator_views.py -v
47+
- name: Validate dashboard JavaScript
48+
run: node --check autogen_dashboard/static/app.js

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
.venv/
2+
__pycache__/
3+
*.pyc
4+
.pytest_cache/
5+
.env
6+
.env.*
7+
!.env.example
8+
!.env.*.example
9+
state/
10+
.tmp-tests/
11+
*.out.log
12+
*.err.log

.planning/STATE.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ milestone: v1.1
44
milestone_name: milestone
55
status: completed
66
stopped_at: Phase 6 complete
7-
last_updated: "2026-04-15T19:56:10.036Z"
8-
last_activity: 2026-03-22 - Phase 6 complete - Plan 03 delivered Command Center parity tests, legacy compatibility notices, and README External API section
7+
last_updated: "2026-06-10T18:30:00+03:00"
8+
last_activity: 2026-06-10 - Completed quick task 260610-ppt: PR #1 follow-up truthful Quickstart and Configuration guidance
99
progress:
1010
total_phases: 2
1111
completed_phases: 1
@@ -28,7 +28,7 @@ See: .planning/PROJECT.md (updated 2026-03-22)
2828
Phase: 07 (azure-functions-and-cloud-control-plane) - READY TO START
2929
Plan: 07-01 (next)
3030
Status: Phase 6 complete - Shared control-plane API delivered with /api/v1 REST router, Command Center parity validation, and external API documentation. Ready for Azure Functions deployment.
31-
Last activity: 2026-03-22 - Phase 6 complete - Plan 03 delivered Command Center parity tests, legacy compatibility notices, and README External API section
31+
Last activity: 2026-06-10 - Completed quick task 260610-ppt: PR #1 follow-up truthful Quickstart and Configuration guidance
3232

3333
## Performance Metrics
3434

@@ -135,6 +135,12 @@ None yet.
135135
- Local Python is `3.14.2`, but Azure Functions hosted deployment work should target GA-supported Python such as `3.13` or `3.12`
136136
- A cloud-hosted control plane cannot assume local CLI logins, desktop-bound tooling, or direct repo access unless a compatible worker is attached
137137

138+
### Quick Tasks Completed
139+
140+
| # | Description | Date | Commit | Status | Directory |
141+
|---|-------------|------|--------|--------|-----------|
142+
| 260610-ppt | PR #1 follow-up: truthful Quickstart and Configuration guidance | 2026-06-10 | 5487e05 | Verified | [260610-ppt-pr-1-follow-up-restore-practical-truthfu](./quick/260610-ppt-pr-1-follow-up-restore-practical-truthfu/) |
143+
138144
## Session Continuity
139145

140146
Last session: 2026-03-22T22:00:00+02:00
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Enterprise Audit-Fix Classification
2+
3+
Source: `gsd-audit-fix --severity all --max 8`
4+
5+
| ID | Severity | Classification | Finding |
6+
|---|---|---|---|
7+
| F-01 | High | Auto-fixable | Clean clone could not collect the shipped full test suite because required runtime modules and dependency/bootstrap files were missing. |
8+
| F-02 | High | Auto-fixable | CI ran only two static contract tests and could report green while the broader suite was broken. |
9+
| F-03 | High | Auto-fixable | `SessionStore` composed unvalidated session, stage, and attempt identifiers into filesystem paths. |
10+
| F-04 | High | Auto-fixable | Dashboard CORS allowed wildcard origins with credentials. |
11+
| F-05 | Medium | Auto-fixable | Repo write operations accepted arbitrary encodings and used non-atomic direct writes. |
12+
| F-06 | Medium | Auto-fixable | Missing `.gitignore` exposed secrets and runtime/test artifacts to accidental commits. |
13+
| F-07 | Medium | Manual-only | Legacy dashboard and MAF runtime contracts overlap and require an architectural consolidation decision. |
14+
| F-08 | Medium | Manual-only | Production authentication, worker isolation, and remote deployment boundaries remain intentionally unimplemented. |
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Enterprise Audit-Fix Summary
2+
3+
## Result
4+
5+
Six auto-fixable findings were resolved. Two architecture/deployment findings remain manual-only.
6+
7+
| ID | Status | Commit |
8+
|---|---|---|
9+
| F-01 | Fixed | `65cb4f2`, `f2b1210` |
10+
| F-02 | Fixed | `fa78d6b` |
11+
| F-03 | Fixed | `48bdb95` |
12+
| F-04 | Fixed | `92e3adf` |
13+
| F-05 | Fixed | `76eda85` |
14+
| F-06 | Fixed | `4975e0b` |
15+
| F-07 | Manual-only | Architecture decision required |
16+
| F-08 | Manual-only | Production boundary decision required |
17+
18+
## Outcome
19+
20+
- Restored a runnable clean-clone contract with declared dependencies, example configuration, launcher, and required runtime modules.
21+
- Replaced narrow green CI with full Windows/Linux validation.
22+
- Closed durable-state path traversal and wildcard credentialed CORS risks.
23+
- Made agent-driven repo writes atomic and UTF-8-only.
24+
- Protected local secrets and generated state from accidental commits.
25+
- Updated README claims to match the verified repository state.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Enterprise Audit-Fix Verification
2+
3+
## Automated Checks
4+
5+
- `python -m pytest -q --tb=short`: 71 passed, 4 subtests passed
6+
- `python -m compileall autogen_starter autogen_dashboard maf_starter main.py -q`: passed
7+
- `node --check autogen_dashboard/static/app.js`: passed
8+
- `git diff --check`: passed
9+
- `python main.py providers`: launcher and provider inventory passed
10+
- `git check-ignore -v .env .pytest_cache .tmp-tests example.err.log`: expected ignore rules passed
11+
12+
## Environment Note
13+
14+
`python -m pip check` reports an unrelated workstation-level preview dependency mismatch:
15+
`agent-framework-core 1.0.0rc5` expects `azure-ai-projects>=2.0.0,<3.0`, while the shared environment contains `azure-ai-projects 2.0.0b3`.
16+
CI installs from `requirements.txt` in a clean environment and now treats dependency consistency as a required gate.
17+
18+
## Manual Verification Remaining
19+
20+
- Observe the Windows and Linux GitHub Actions jobs on PR #1. The workflow was committed through the authenticated GitHub connector because the local GitHub CLI token does not carry the `workflow` scope.
21+
- Exercise one real provider-backed dashboard run with a non-production key.
22+
- Decide whether to consolidate or retire the parallel legacy and MAF runtime contracts.
23+
- Define production authentication and isolated worker execution before any non-loopback deployment.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
quick_id: 260610-ppt
3+
mode: quick-full
4+
status: ready
5+
date: 2026-06-10
6+
---
7+
8+
# PR #1 follow-up: truthful Quickstart and Configuration guidance
9+
10+
## Goal
11+
12+
Restore practical README guidance that helps readers validate and understand the checked-in repository without claiming a missing dependency manifest, `.env.example`, launcher, or supported full-runtime bootstrap.
13+
14+
## Must Haves
15+
16+
- Quickstart commands operate against files present on `docs/portfolio-hardening-20260610`.
17+
- The README clearly distinguishes the CI-aligned static contract tests from a full runtime launch.
18+
- Configuration guidance is derived from `maf_starter/config.py` and does not claim an `.env.example` exists.
19+
- Validation includes the documented test command, README claim checks, and `git diff --check`.
20+
21+
## Tasks
22+
23+
### Task 1: Restore truthful operator guidance
24+
25+
**Files:** `README.md`
26+
27+
**Action:** Add a Quickstart that runs the same static contract tests as CI, disclose the current runtime-bootstrap limitations, and add a configuration reference based only on variables read by `maf_starter/config.py`.
28+
29+
**Verify:** Confirm every named repository path exists and every documented command is appropriate for this snapshot.
30+
31+
**Done:** Readers can validate the portfolio evidence and understand configuration boundaries without being told to use missing files or unsupported launch commands.
32+
33+
### Task 2: Validate and record completion
34+
35+
**Files:** `.planning/quick/260610-ppt-pr-1-follow-up-restore-practical-truthfu/260610-ppt-SUMMARY.md`, `.planning/quick/260610-ppt-pr-1-follow-up-restore-practical-truthfu/260610-ppt-VERIFICATION.md`, `.planning/STATE.md`
36+
37+
**Action:** Run the CI-aligned tests and `git diff --check`, verify README claims against tracked files and configuration source, then record the quick-task result.
38+
39+
**Verify:** All validation commands pass and the final commit contains only the README follow-up and GSD quick-task artifacts/state.
40+
41+
**Done:** The task is documented, verified, atomically committed, and ready to push on the existing PR branch.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
quick_id: 260610-ppt
3+
status: complete
4+
completed: 2026-06-10
5+
implementation_commit: 5487e05
6+
---
7+
8+
# Quick Task 260610-ppt Summary
9+
10+
Restored practical README Quickstart and Configuration guidance for PR #1 without presenting the incomplete repository snapshot as a supported full-runtime distribution.
11+
12+
## Delivered
13+
14+
- Added a PowerShell Quickstart that runs the same dependency-light operator-workbench contract tests used by CI.
15+
- Explicitly documented the missing dependency manifest, `.env.example`, launcher, and legacy dashboard imports that prevent a truthful clean-clone runtime launch command.
16+
- Added a configuration table derived from environment variables actually read by `maf_starter/config.py`.
17+
18+
## Validation
19+
20+
- `python -m pytest tests/test_phase5_ui_contract.py tests/test_phase5_operator_views.py -v` - 16 passed.
21+
- Verified all README paths and missing-bootstrap statements against tracked files.
22+
- `git diff --check` - passed.
23+
24+
Implementation commit: `5487e05`
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
quick_id: 260610-ppt
3+
status: passed
4+
verified: 2026-06-10
5+
---
6+
7+
# Quick Task 260610-ppt Verification
8+
9+
## Goal
10+
11+
Restore practical, truthful Quickstart and Configuration guidance without claiming missing files or unsupported runtime bootstrap.
12+
13+
## Result
14+
15+
Passed. The README now provides an executable CI-aligned validation path, identifies the full-runtime bootstrap as unsupported in the checked-in snapshot, and documents configuration from `maf_starter/config.py`.
16+
17+
## Evidence
18+
19+
- The documented pytest command completed with 16 passing tests.
20+
- `README.md`, `maf_starter/config.py`, the two documented tests, and `.github/workflows/ci.yml` exist.
21+
- `requirements.txt`, `pyproject.toml`, `setup.py`, `.env.example`, `main.py`, and `autogen_starter/` are absent, matching the README limitation statement.
22+
- Configuration names and defaults were checked against `load_settings()` in `maf_starter/config.py`.
23+
- `git diff --check` passed before the implementation commit.

0 commit comments

Comments
 (0)