Skip to content

About

Keep an engagement a readout until the constraint and metric exist.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

FDE customer solution platform

Overview

A capstone that keeps forward deployed engagements honest. Each engagement record needs five fields: customer, pain, constraint, metric and refusal. If any of the last four is missing, POST /engagements keeps the status at draft and names the gap; a complete record becomes ready_for_readout. The live flag stays false, so the form can never mark a customer live. A /v1 ops API adds workspaces, tenant isolation, job approval and audit records.

  • Built with: Python, pytest, Docker, Docker Compose, GitHub Actions
  • Scope: Local capstone lab with tests; it tracks engagement readiness only and refuses production apply.

Project guide

Project architecture · Interview questions and answers

Use the architecture document for the component diagram, implementation boundaries, and verification entry points. The interview guide includes source-backed answers and project walkthroughs.

Implementation map

Component Responsibility
src/fdeplatform/main.py HTTP handlers: POST /engagements, GET /engagements
src/fdeplatform/ops.py HTTP handlers: GET /readyz, POST /workspaces, GET /workspaces, POST /workspaces/{workspace_id}/jobs, GET /jobs/{job_id}
requirements.txt Implementation or supporting configuration
Dockerfile Container build/service configuration
Makefile Implementation or supporting configuration
docker-compose.yml Container build/service configuration
tests/test_engagement.py Executable checks and regression examples
tests/test_ops.py Executable checks and regression examples
.github/workflows/ci.yml GitHub Actions job definitions
README.md Project explanations or operating notes
docs/ARCHITECTURE.md Project explanations or operating notes

Local setup and verification

From the repository root (the commands follow the checked-in manifests):

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python -m pytest -q

To serve the FastAPI application locally, install the server separately if it is not already available:

python -m pip install uvicorn
PYTHONPATH=src python -m uvicorn fdeplatform.main:app --reload

Level: Capstone

Skills: Customer engineering, a constraint, a metric, an API

An engagement needs five fields: customer, pain, constraint, metric, and refusal. Missing any of the last four keeps the status at draft and names the gap.

A complete record is ready_for_readout. live stays false. The platform does not mark a customer live from this form.

pip install -r requirements.txt
pytest -q

Ops plane

Workspaces, tenant isolation, job approval, and audit live under /v1. Production apply is refused. See docs/ARCHITECTURE.md.

Documentation checks

Project architecture, interview guides, and local source links are checked automatically on pushes and pull requests. Run the same check locally:

python3 .github/scripts/validate_project_docs.py

See service improvements and local run instructions.

About

Keep an engagement a readout until the constraint and metric exist.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages