- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환 - Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용 - pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관) - worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md) - D:\Rhino-MCP 경로 참조를 새 위치로 치환 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
58 lines
3.9 KiB
HTML
58 lines
3.9 KiB
HTML
{% extends "base.html" %}
|
|
{% from "_prism.html" import st_badge, human_badge %}
|
|
{% block title %}근거 보기 {{ which }}.{{ key }}{% endblock %}
|
|
{% block body %}
|
|
<div class="prism">
|
|
<div class="stack">
|
|
<div class="stack" style="gap:var(--prism-space-100)">
|
|
<span class="eyebrow">입력 묶음 · 근거 보기</span>
|
|
<h1 style="font-size:var(--prism-type-title);color:var(--prism-text-heading);margin:0">{{ which }}.{{ key }}</h1>
|
|
</div>
|
|
<section class="strip" aria-label="결론">
|
|
<p class="concl">{{ st_badge(chk.st) }} {{ chk.summary }}</p>
|
|
{% if chk.stale %}<p class="cap">▲ 값이 바뀌어 이 결과는 낡았습니다. [전체 확인]으로 다시 확인하세요.</p>{% endif %}
|
|
<dl class="kv">
|
|
<dt>변수 등급</dt><dd>{% if st.info %}참고{% else %}{{ meta.grade }} {{ grades[meta.grade] }}{% endif %} <span class="muted">— {{ meta.note }}</span></dd>
|
|
<dt>값 출처(일반)</dt><dd>{{ meta.source|join(' · ') }}{% if meta.origin %} · <span class="b warn"><span class="m" aria-hidden="true">▲</span>템플릿 원본 그대로</span>{% endif %}</dd>
|
|
<dt>앱 확인</dt><dd>{{ st_badge(chk.st) }}</dd>
|
|
<dt>사람 확정</dt><dd>{{ human_badge(st) }} {% if st.confirmed %}<span class="muted">{{ st.by }} · {{ st.at }}{% if st.app_st %} · 확정 당시 앱 확인 {{ ST.get(st.app_st, st.app_st) }}{% endif %}</span>{% endif %}
|
|
{% if st.why %}<br><span class="muted">사유: {{ st.why }}</span>{% endif %}</dd>
|
|
</dl>
|
|
</section>
|
|
|
|
<div class="tw"><table class="t">
|
|
<caption>앱 확인 8종 (해당하는 것만 수행)</caption>
|
|
<thead><tr><th scope="col">검사</th><th scope="col">결과</th><th scope="col">무엇을 무엇과 비교했는가</th><th scope="col">출처·위치</th></tr></thead>
|
|
<tbody>
|
|
{% for c in chk.checks %}
|
|
<tr><td><b>{{ c.id }}</b> {{ c.name }}</td><td>{{ st_badge(c.st) }}</td><td>{{ c.text }}</td><td>{% if c.pos %}<span class="chip">{{ c.pos }}</span>{% endif %}</td></tr>
|
|
{% else %}
|
|
<tr><td colspan="4">앱 확인 전입니다. [전체 확인]을 누르세요.</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table></div>
|
|
|
|
<div class="banner tip"><span class="m" aria-hidden="true">◆</span>
|
|
<div>'일치'는 "독립 근거(도면 표·재료표 수량·템플릿)와 값이 같다"는 뜻이지 "도면이 맞다"는 뜻이 아닙니다. 앱은 확정하지 않으며, 근거를 읽은 사람이 확정합니다.
|
|
철근 위치·좌표와 표 밖 치수(EL·치수 사슬)는 아직 앱이 대조하지 못합니다(C단계 예정).</div></div>
|
|
|
|
{% if not st.info %}
|
|
<section class="card" aria-label="확정">
|
|
<h3>확정</h3>
|
|
<form method="post" action="{{ url_for('section_confirm', name=p.name, which=which, key=key) }}" class="stack">
|
|
<input type="hidden" name="next" value="{{ url_for('evidence', name=p.name, which=which, key=key) }}">
|
|
<div class="field"><label for="by">확정자<span class="req">필수</span></label>
|
|
<input id="by" type="text" name="by" required style="max-width:20rem"></div>
|
|
<div class="field"><label for="why">사유<span class="req">{% if chk.st in ('w', 'b', 'n') %}앱 확인이 '일치'가 아니므로 필수{% else %}선택{% endif %}</span></label>
|
|
<textarea id="why" name="why" rows="3" {% if chk.st in ('w', 'b', 'n') %}required{% endif %}></textarea>
|
|
<span class="help">무엇을 어떻게 확인했는지 적습니다(예: 도면 D1 정면도 EL 문자와 직접 대조).</span></div>
|
|
<div class="row"><button class="btn primary" type="submit">저장된 값으로 확정</button>
|
|
<a class="btn" href="{{ url_for('section', name=p.name, which=which, key=key) }}">값 편집</a>
|
|
<a class="btn quiet" href="{{ url_for('pier', name=p.name) }}">묶음 표로 돌아가기</a></div>
|
|
</form>
|
|
</section>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|