Add governed source freshness audit
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-16 15:05:42 +02:00
parent 2723043e3d
commit 1e0e7b6499
22 changed files with 1148 additions and 0 deletions
+167
View File
@@ -821,6 +821,173 @@ details.ai-lab-model-surface > summary strong {
-webkit-line-clamp: 2;
}
.source-freshness-panel {
overflow: hidden;
border: 1px solid var(--line);
border-radius: 7px;
background: #ffffff;
}
.source-freshness-header {
display: flex;
gap: 1rem;
align-items: center;
justify-content: space-between;
padding: 1rem 1.2rem;
}
.source-freshness-header h2 {
margin: 0;
font-size: 1.05rem;
}
.source-freshness-header p:last-child {
max-width: 52rem;
margin: 0.3rem 0 0;
color: var(--muted);
font-size: 0.82rem;
}
.source-freshness-summary {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
border-top: 1px solid var(--line);
border-bottom: 1px solid var(--line);
background: #f8fafb;
}
.source-freshness-summary span {
padding: 0.7rem 1rem;
border-right: 1px solid var(--line);
color: var(--muted);
font-size: 0.75rem;
}
.source-freshness-summary span:last-child {
border-right: 0;
}
.source-freshness-summary strong {
display: block;
margin-bottom: 0.15rem;
color: #24333d;
font-size: 1.05rem;
}
.source-freshness-attention,
.source-freshness-list {
display: grid;
}
.source-freshness-row {
padding: 0.75rem 1rem;
border-bottom: 1px solid var(--line);
}
.source-freshness-row:last-child {
border-bottom: 0;
}
.source-freshness-row-review_required {
box-shadow: inset 3px 0 0 #b84e4e;
}
.source-freshness-row-due {
box-shadow: inset 3px 0 0 #ca7a18;
}
.source-freshness-row-current {
box-shadow: inset 3px 0 0 #2d9272;
}
.source-freshness-main {
display: flex;
gap: 1rem;
align-items: start;
justify-content: space-between;
}
.source-freshness-main > div {
display: grid;
gap: 0.15rem;
}
.source-freshness-main strong {
color: #23313b;
font-size: 0.86rem;
}
.source-freshness-main span,
.source-freshness-row p,
.source-freshness-meta {
color: var(--muted);
font-size: 0.75rem;
}
.source-freshness-row p {
margin: 0.4rem 0;
}
.source-freshness-status {
flex: 0 0 auto;
color: #33424d !important;
font-weight: 750;
}
.source-freshness-meta {
display: flex;
flex-wrap: wrap;
gap: 0.35rem 1rem;
}
.source-freshness-ok,
.source-freshness-limitation {
margin: 0;
padding: 0.8rem 1rem;
color: var(--muted);
font-size: 0.78rem;
}
.source-freshness-details {
border-top: 1px solid var(--line);
}
.source-freshness-details > summary {
display: flex;
cursor: pointer;
gap: 1rem;
justify-content: space-between;
padding: 0.72rem 1rem;
color: #33424d;
font-size: 0.78rem;
font-weight: 700;
}
.source-freshness-list {
max-height: 30rem;
overflow: auto;
border-top: 1px solid var(--line);
}
@media (max-width: 760px) {
.source-freshness-header {
align-items: stretch;
flex-direction: column;
}
.source-freshness-summary {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.source-freshness-summary span:nth-child(2) {
border-right: 0;
}
.source-freshness-summary span:nth-child(-n + 2) {
border-bottom: 1px solid var(--line);
}
}
.workflow-guidance-panel {
border: 1px solid var(--line);
border-left: 1px solid var(--line);