DEV Community

Rahul
Rahul

Posted on Fully Autonomous

CCIL Test Studio source 07: README.md

# CCIL Test Studio

A complete interactive frontend built with React, plain JavaScript, CSS, and custom SVG icons. React and React DOM are the only runtime dependencies. Vite is the only development dependency, used for the local server and production build.

## Run locally

```powershell
npm install
npm run dev
```

Open http://127.0.0.1:5175/. MCM is the default team and includes populated synthetic sample data.

Select a team and enter its shared password. Sample teams use `team-demo` for User access or `admin-demo` for Administrator access, through the same sign-in form. There are no individual role accounts. Administrators can add teams with their own team and administrator passwords.

All team users can create System Baselines and workspaces, upload documents, resolve source-backed questions, and generate/edit test suites. Only adding a team and approving System Baseline updates require Administrator access. Initial baseline creation has no approval step.

System Baseline and CR creation both require at least one document from **Business**, **Technical**, or **Functional / Bug Information**. Any one category is sufficient; all three are never compulsory.

MCM means Membership and Collateral Management. Membership is an alias of MCM; it is not a separate team. Existing Membership-owned records retain their IDs and source references when migrated to MCM.

```powershell
npm run build
npm run preview
npm test
```

The production build is in `dist/`. Tests use Node's built-in test runner and Vite's existing loader; no test framework is installed.

## Included pages and workflows

1. Sign-in and team selection using a shared team password and two access levels.
2. Overview and workspaces: live counts, attention queue, searchable/paginated lists, create/copy wizard, shared team access.
3. System Baselines: reusable library, three document categories, a one-document minimum, initial creation without approval, knowledge manifest, and version history.
4. CR evidence: exactly Technical, Functional / Bug Information, and Business categories; combined documents; CR creation; local routing review; manual source-linked requirements; and activity.
5. Knowledge versions: baseline/CR selection, ADD/REPLACE/REMOVE diff, prerequisites, conflicts, incorporated-CR protection, and shared contracts.
6. Workspace chat: persistent version-specific conversations, cited local evidence lookup, attachments, historic threads, typed clarification answers, and immediate source-backed answer resolution.
7. Generation readiness: concrete blockers, final/provisional gates, template selection, persistent local run stages, cancellation, interruption handling, and retry.
8. Test suites: scenario search, editing and revisions, team reviews, citations, coverage/gaps, historic version identity, and CSV export.
9. Templates: manual fields and ordering, immutable versions, selection, CSV example import with header/source-row review, and separate example suites.
10. Baseline approvals: requests, precise diffs, exact manifest SHA-256, checklist, Administrator-only approval, decision history, and new immutable local baseline versions.
11. Dependency graph: custom SVG, directed relationships, source inspector, unresolved references, pan, zoom, search, type filters, and bounded hops/nodes.
12. Administration: shared team access, source-sharing grants/revocation, local connection configuration, audit history, metadata backup/import, and demo reset.

Light/dark themes, mobile navigation, keyboard focus, command search (Ctrl+K), accessible dialogs, empty/error states, and reduced-motion support are included. Hover motion uses short CSS transitions. The optional DM Sans stylesheet falls back to system fonts offline.

## Storage and integration boundaries

All seeded business content is synthetic. Backend services and agents are deferred.

- Application records use localStorage under `ccil-studio-demo-v1`.
- Original uploads use browser IndexedDB (`ccil-local-files`). Files receive type/size checks and SHA-256 checksums. Plain text, Markdown, and SQL have local previews. PDFs and DOCX are retained for original download. Nothing is sent to a server.
- Local source review does not claim classification, extraction, indexing, or authoritative validation.
- Chat uses a visible deterministic keyword lookup over eligible readable sources. It abstains when matching text is absent. This is not a model integration.
- Generation creates local demo fixtures from selected rules and reviewed answers. Provisional suites retain unresolved expected outcomes. These fixtures do not establish complete test coverage.
- CSV import/export is implemented locally. XLSX parsing/export and PDF/DOCX extraction await backend integration.
- Knowledge changes reset clarification readiness and create a fresh chat context. Historic chats and suites retain their original version.
- Baseline approval creates a new local immutable version. Existing workspaces keep their selected baseline. Real approval enforcement belongs on the backend.
- Connection settings store endpoint/model identifiers with an explicit disconnected state. No API keys are accepted or stored.
- JSON backups include records, conversations, and readable source text, but not original file bytes. Storage is per browser/device and is not a server database.
- Shared password verification and access checks are a browser-local prototype, not server-side authentication. Password digests are stored locally; plaintext passwords are not persisted. Backend authentication is deferred.

## Source layout

```text
src/
  access.js        # Shared team login, upload validation, and migration
  AppShell.jsx       Navigation, themes, search, local run progression
  store.jsx          React state, persistence, version/readiness checks, CSV helpers
  seed.js            Synthetic fixtures
  generation.js      Deterministic source-linked demo suites
  files.js           Native browser file checks, checksums, IndexedDB
  ui.jsx             Shared controls, dialogs, source/file components
  pages/             One module per application area
  styles.css         Approved visual foundation
  studio.css         Full layouts, responsive behavior, lightweight hover states
tests/
  frontend.test.mjs  Page rendering and version/readiness/CSV invariants
```

No UI kit, routing package, state-management package, graph/chart package, animation library, TypeScript compiler, or backend framework is added.
Enter fullscreen mode Exit fullscreen mode

Top comments (0)