Meridian Field Services: instructional example, not project evidence
This artifact is unlike every other one in the package. Read this section first; without it, the findings below look like trivia.
Every other artifact in this package makes claims. The security requirements claim a session ends after a certain time. The compliance matrix claims payment-card rules do not apply. The NFR catalog claims a maintainability target. Each is written by people who know their own subject well.
This document owns no subject at all. Its only job is to ask whether all those claims can be true at the same time. It is the package's own consistency check, and it is written last, because it cannot check claims that do not exist yet.
Its raw material is the web of citations the artifacts build when they reference one another. Two signals start every investigation, and both are mechanical:
Those are only starting points. The judgment (and the entire value of this document) is in deciding which of three things each finding actually is. They are not synonyms, and confusing them is expensive in both directions.
| Classification | What it means | What must happen |
|---|---|---|
| Contradiction | The two artifacts cannot both be true. One of them is wrong. | Someone changes something. This is a defect. |
| Tension | Both are true, and they pull against each other. A real force, not a mistake. | Name an owner and a revisit trigger. Do not "fix" it: there is nothing broken. |
| Gap | A reference has outrun the work: it points at something not written yet. | It closes when the missing artifact ships, or becomes an open question if it won't. |
Calling a tension a contradiction manufactures work that has no correct outcome: the team argues in circles because both sides are right. Calling a contradiction a tension hides a defect behind a shrug. Getting this call right, with the reasoning shown, is what this document is for.
What each artifact says. The security requirements state a twelve-idle-hour session ceiling (SR-011[1]). The auth policy specifies a 60-minute inactivity timeout and a 12-hour absolute cap (session lifecycle[2]). Read quickly, they disagree about how long a dispatcher stays signed in, and the identifier-with-two-values signal fired here.
Why it is not a contradiction. They are describing two different clocks. One measures time since the user last did anything; the other measures time since sign-in, regardless of activity. Both run at once, and whichever expires first ends the session. Both statements are true. SR-011's shorthand names only one of the two bounds, so it reads as conflicting when it is merely incomplete. Nothing is wrong in the system; something is wrong in a sentence.
What would go wrong if this were not recorded. An engineer implementing SR-011 literally would build a twelve-hour idle window and quietly delete the 60-minute protection: reading one true sentence and shipping a weaker system. The auth policy is authoritative.
What is going on. Meridian's agreement with the technicians' union requires that technicians be told when their location is being tracked. That single obligation surfaces in six artifacts: the privacy impact, the accessibility requirements, the mobile platform spec, the observability plan, the localization spec, and the NFR catalog.
Why it was investigated. One promise appearing in six places is exactly the shape of a problem; it is usually six copies drifting apart, where fixing the promise in one place silently leaves five stale versions behind.
What the check found. It is not that. Every one of the six links to the single owning statement (monitoring notice[3]) rather than restating it. There is one promise with six readers: a correctly modelled shared dependency. Recorded anyway, because the next reviewer will notice six references and ask this same question, and this is the answer.
Earlier artifacts cited a data-protection impact assessment before anyone had written one. The dangling-citation signal caught it. The compliance cluster subsequently shipped it (DPIA[3]), which is exactly what a healthy gap does: it closes on its own as the planned work lands. Closed.
What each artifact says. The NFR catalog commits to a maintainability target for bringing a new dispatch hub online (NFR-P3[4]). No design artifact says how that target will be met, or who is responsible for meeting it.
Why this one is different from GAP-01. GAP-01 closed because scheduled work was already going to produce the missing artifact. Here, nothing on the plan produces the missing owner, so left alone, this gap stays open forever and the commitment quietly becomes decorative. That is why it is promoted rather than merely noted (§2).
What each artifact says. The compliance matrix excludes payment-card standards from the pilot (exclusions[5]). The payment spec designs a billing surface (cardholder-data scope[6]). On its face: we are not in scope for card rules, and also here is our card-handling design.
Why it is not a contradiction. The resolution is chronology. The pilot genuinely takes zero cardholder data; the exclusion is accurate today. The billing surface is phase two, designed ahead precisely because scope minimization is decided before the architecture rather than backfilled to justify whatever got built. Both statements are true about different moments.
Why it stays recorded. It is a legitimate, accepted tension with a revisit trigger, because the day the portal activates, the exclusion stops being accurate, and someone must notice. That someone is named in §2.
| Finding | Artifacts in tension | Claim at issue | Classification |
|---|---|---|---|
| CON-01 | security (SR-011)[1] · auth policy[2] | Session duration: one shorthand bound vs two distinct clocks | Tension |
| CON-02 | privacy impact[3] + five others | The union monitoring-notice obligation, referenced six times | Clean |
| GAP-01 | privacy impact (DPIA)[3] | A forward-citation to an unwritten assessment | Gap · closed |
| GAP-02 | NFR catalog (NFR-P3)[4] | A maintainability target with no owning design artifact | Gap · open |
| CON-03 | compliance matrix[5] · payment spec[6] | Payment-card scope: pilot exclusion vs phase-two design | Tension |
Note what this document did not do. It never restated the auth policy's rules, or re-decided the payment scope, or specified the missing maintainability owner. Each owning artifact keeps its content; this one only names the claim, cites it, and rules on whether the set holds together. The moment this artifact starts deciding, it becomes another claimant, and there is nothing left to check it.
There is exactly one failure state in this artifact, and it is not "we found contradictions." It is a finding with nobody's name on it. A recorded, owned tension is a healthy corpus; an unowned one is a problem waiting to be rediscovered by someone with less context and less time.
| Finding | Owner | Disposition | Resolution path · revisit trigger |
|---|---|---|---|
| CON-01 | E. Sandoval | Accepted tension | Align SR-011's shorthand to the auth policy's two-clock wording at the next security regeneration · revisit at the next SR revision |
| CON-02 | N. Duval | Reconciled · clean | Verified Aug 8; the six references correctly share one obligation. No change needed; recorded so the shared dependency is not re-flagged every review |
| GAP-01 | N. Duval | Closed | The cited DPIA shipped with the compliance cluster |
| GAP-02 | E. Sandoval | Promoted | Raised as an open question and a risk-register watch (RSK-018[7]), due Sep 30, because this gap will not close on its own |
| CON-03 | N. Duval | Accepted tension | Revisit at the portal activation decision, the moment the pilot exclusion stops being accurate |
Reading the verdict. Five findings sounds alarming and is not. Two are tensions that should exist and are now owned. One is a clean result recorded to save the next reviewer the investigation. One gap closed on schedule. One gap will not close by itself, so it was handed to a named person with a date and put where the sponsor already looks.
Nothing blocks. A blocking finding would be an unowned contradiction, or an accepted tension whose revisit trigger has already fired without anyone acting. Neither exists here. That is the claim this document exists to make, and it is checkable, because every finding above shows its reasoning rather than asserting a verdict.
| Question | Owner | Answer by | Blocks |
|---|---|---|---|
| GAP-02 promoted: which design artifact will own the hub-onboarding maintainability target the NFR catalog commits to (NFR-P3[4])? | E. Sandoval | Sep 30 | The maintainability sign-off, not the pilot ship |
| Accepted-tension revisit triggers, restated so they are not lost: CON-01 at the next security regeneration; CON-03 at portal activation | E. Sandoval; N. Duval | At each trigger | Nothing; each resolves as the cited artifacts evolve |