93 lines
4.0 KiB
Markdown
93 lines
4.0 KiB
Markdown
# PR#3: The staircase tells frontend and backend apart by authorship
|
|
|
|
> **WARNING:** This document describes only the change applied in this PR.
|
|
> It may already be outdated once the next PR is merged.
|
|
> Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.
|
|
|
|
## Problem
|
|
|
|
The staircase view "Engineering Activities by Software Criticality" gives a human the production code review
|
|
of a frontend and of a backend.
|
|
With AI review agents, both are shared work of AI and human; only critical backends and systems keep a human review.
|
|
|
|
Changed alone, that would leave frontend and backend apart only by how binding their activities are:
|
|
in authorship they would differ in "Performance / Resilience Review" only.
|
|
|
|
## Non-Goals
|
|
|
|
- No new engineering activity, no new software type.
|
|
- No change of the other views; the profiles view does not model the activities per software type.
|
|
|
|
## Specification
|
|
|
|
### Feature: authorship of frontend and backend in the staircase
|
|
|
|
#### Scenario#3.01: the production code review of a frontend and a backend is shared work
|
|
|
|
… so that the staircase shows the review agents next to the human review.
|
|
|
|
- **Given** the staircase view is shown
|
|
- **When** the visitor looks at "Production Code Review"
|
|
- **Then** the frontend shows "Optional · AI + Human" and the backend "Suggested · AI + Human",
|
|
and the critical backend and the critical systems still show "Required · Human"
|
|
|
|
##### Verified by
|
|
|
|
- the browser check below; there are no automated tests yet
|
|
|
|
#### Scenario#3.02: a frontend has no API or contract review of its own
|
|
|
|
… so that the staircase does not ask a frontend for a contract that its backend defines.
|
|
|
|
- **Given** the staircase view is shown
|
|
- **When** the visitor looks at "API / Contract Review" for the frontend
|
|
- **Then** the cell shows "n/a", and its tooltip says that the backend reviews the contract
|
|
|
|
##### Verified by
|
|
|
|
- the browser check below; there are no automated tests yet
|
|
|
|
#### Scenario#3.03: AI writes the behavior tests of a frontend
|
|
|
|
… so that frontend and backend differ in who writes the scenarios.
|
|
|
|
- **Given** the staircase view is shown
|
|
- **When** the visitor looks at "Behavior / Scenario Tests"
|
|
- **Then** the frontend shows "Required · AI" and the backend still "Required · AI + Human"
|
|
|
|
##### Verified by
|
|
|
|
- the browser check below; there are no automated tests yet
|
|
|
|
## Solution
|
|
|
|
The cells of the frontend and the backend column in the staircase, inside the `srcdoc` of its `iframe`:
|
|
|
|
| Activity | Frontend before | Frontend after | Backend before | Backend after |
|
|
|----------|-----------------|----------------|----------------|---------------|
|
|
| Production Code Review | Optional · Human | Optional · AI + Human | Suggested · Human | Suggested · AI + Human |
|
|
| API / Contract Review | Suggested · AI + Human | n/a | Required · AI + Human | unchanged |
|
|
| Behavior / Scenario Tests | Required · AI + Human | Required · AI | Required · AI + Human | unchanged |
|
|
|
|
- "n/a" uses the grey style of "Not normally used"; its tooltip says why the activity does not apply.
|
|
- The description of "Production Code Review" loses "Human", since the activity is no longer human-only:
|
|
"Inspection of implementation choices and maintainability".
|
|
- The cells were changed on the unescaped document; escaping it again gives back the rest byte for byte.
|
|
- Version 1.1.0, since the content changes.
|
|
|
|
So frontend and backend now differ in authorship in "Performance / Resilience Review" and "Behavior / Scenario Tests",
|
|
and in how binding they are in five more activities.
|
|
|
|
### Browser Check
|
|
|
|
Checked on a local HTTP server in Chromium on 2026-10-14:
|
|
the three rows show the cells of the table above, the tooltips the new texts,
|
|
and the other cells and rows are unchanged.
|
|
|
|
After the merge, the human installs the new version.
|
|
|
|
## Open Questions
|
|
|
|
- [x] Which existing activities tell frontend and backend apart besides the code review?
|
|
Decided by the human: "API / Contract Review" does not apply to a frontend, and AI writes its behavior tests.
|