fix: resolve review feedback F1 (CCIS deliverables WG scope), F2 (4 Core Research Areas), AC-32 check, and N1-N3 cleanups

This commit is contained in:
2026-07-30 22:06:07 +09:00
parent 9fd6abcd18
commit 19f3bee39f
7 changed files with 27 additions and 82 deletions
@@ -1,6 +1,6 @@
"use client";
import React, { useEffect, useState, useRef } from "react";
import React, { useEffect, useState } from "react";
interface ProjectPageViewControlsProps {
slugs: string[];
+9 -21
View File
@@ -7,21 +7,9 @@ import { publications, patents } from "../content/publications";
const PILLARS = [
{
no: "01",
en: "Agent Core Engineering",
ko: "AI 에이전트 3대 핵심 엔지니어링",
theme: "vermillion" as const,
topics: [
"프롬프트 엔지니어링 (System Prompt Optimization)",
"맥락 엔지니어링 (Dynamic Context & Memory Packaging)",
"하네스 엔지니어링 (Agent Control Loop & Sandbox Isolation)",
],
desc: "AI 에이전트의 구동 성능과 안전성을 좌우하는 프롬프트·맥락·하네스 3대 핵심 엔지니어링 기술을 연구합니다.",
},
{
no: "02",
en: "Extensibility & Protocol",
ko: "AI Agent 기능 확장 프로토콜",
theme: "cobalt" as const,
theme: "vermillion" as const,
topics: [
"Model Context Protocol (MCP) 서버/클라이언트 아키텍처",
"SKILL 도구 캡슐화 및 재사용 패키징",
@@ -30,10 +18,10 @@ const PILLARS = [
desc: "에이전트가 외부 도구 및 시스템과 표준화된 방식으로 연동할 수 있도록 MCP와 SKILL 패키징 기술을 개발합니다.",
},
{
no: "03",
no: "02",
en: "Multi-Agent Systems",
ko: "멀티 에이전트 협업 및 오케스트레이션",
theme: "vermillion" as const,
theme: "cobalt" as const,
topics: [
"HERDR 백그라운드 프로세스 컨테이너 격리 제어",
"crewAI 기반 역할 분담 및 태스크 위임 체계",
@@ -42,10 +30,10 @@ const PILLARS = [
desc: "다중 에이전트 환경에서 독립적인 역할 분담과 선순환 오케스트레이션을 보장하는 자율 협업 플랫폼을 연구합니다.",
},
{
no: "04",
no: "03",
en: "Interoperability Standards",
ko: "에이전트 상호운용성 개방형 표준",
theme: "cobalt" as const,
theme: "vermillion" as const,
topics: [
"Agent-to-Agent (A2A) 프로토콜 규격 정의 및 검증",
"Agent Communication Protocol (ACP) 메시지 교환 규격",
@@ -54,10 +42,10 @@ const PILLARS = [
desc: "서로 다른 프레임워크 기반의 에이전트 간의 상호운용성을 보장하는 국제 표준 개방형 통신 프로토콜을 구현합니다.",
},
{
no: "05",
no: "04",
en: "High-Performance Backbone",
ko: "AIoT & 고성능 통신 백본",
theme: "vermillion" as const,
theme: "cobalt" as const,
topics: [
"gRPC / QUIC 양방향 스트리밍 에이전트 백본 통신",
"Protocol Buffers (Protobuf) 직렬화 통신 최적화",
@@ -89,8 +77,8 @@ export default function HomePage() {
</h1>
<p className="text-ink-mute text-base sm:text-lg leading-relaxed max-w-2xl">
AI (ANL) , MCP/SKILL ,
, A2A/ACP , gRPC/QUIC
5 .
, A2A/ACP
4 .
</p>
{/* Metrics Row (Derived from data array, AC-13) */}
-50
View File
@@ -40,56 +40,6 @@ export const researchProjects: ResearchProject[] = [
"standardsOrg": "IEC TC100",
"period": "2018 ~ Present",
"deliverables": [
{
"title": "Multimedia Systems and Equipment for Metaverse - Part 1: Genaral",
"ref": "IEC TR 63614-1 (May 2026)",
"status": "TR"
},
{
"title": "Multimedia Systems and Equipment for Metaverse - Part 2: Classification",
"ref": "IEC TS 63614-2 (May 2026)",
"status": "TS"
},
{
"title": "Multimedia Systems and Equipment for Metaverse - Part 3: Gap Analysis",
"ref": "IEC TR 63614-3 (March 2026)",
"status": "TR"
},
{
"title": "Multimedia Systems and Equipment for Metaverse - Part 4: AI Use Cases",
"ref": "IEC WDTR 63614-4 (In Progress)",
"status": "InProgress"
},
{
"title": "User's QoE for Multimedia Conference Services - Part 1: General",
"ref": "IEC TR 63478-1 (November 2023)",
"status": "TR"
},
{
"title": "User's QoE for Multimedia Conference Services - Part 2: Requirments",
"ref": "IEC IS 63478-2 (October 2025)",
"status": "IS"
},
{
"title": "User's QoE for Multimedia Conference Services - Part 3: Measurement Methods",
"ref": "IEC CDV 63478-3 (In Progress)",
"status": "InProgress"
},
{
"title": "Infotainment Services for Public Vehicles (PVIS) - Part 1: General",
"ref": "IEC TR 63479-1 (November 2023)",
"status": "TR"
},
{
"title": "Infotainment Services for Public Vehicles (PVIS) - Part 2: Requirements",
"ref": "IEC IS 63479-2 (February 2026)",
"status": "IS"
},
{
"title": "Infotainment Services for Public Vehicles (PVIS) - Part 3: Framework",
"ref": "IEC IS 63479-3 (January 2026)",
"status": "IS"
},
{
"title": "Configurable Car Infotainment Services (CCIS) - Part 1: General",
"ref": "IEC 63246-1 (August 2021)",
@@ -447,10 +447,11 @@ def parse_projects():
bodies = parse_standards()
body_map = {b["org"]: b for b in bodies}
# Extract deliverables for CCIS (IEC TC100)
# Extract deliverables for CCIS (IEC TC100 - Configurable Car Infotainment Services WG)
ccis_docs = []
if "IEC TC100" in body_map:
for p in body_map["IEC TC100"]["projects"]:
if "Configurable Car Infotainment Services" in p["name"]:
for d in p["documents"]:
ccis_docs.append({
"title": d["title"],
@@ -42,13 +42,18 @@ def verify():
if len(projects) != 3:
errors.append(f"Research Projects count mismatch: got {len(projects)}, expected 3")
# AC-30: Keyword Substring Verification (Ensures zero hallucinated/created keywords)
# AC-30: Keyword Substring Verification & AC-32 Deliverable WG Attribution
for proj in projects:
abstract = proj.get("abstract", "")
for kw in proj.get("keywords", []):
if kw not in abstract:
errors.append(f"AC-30 Keyword Violation in project '{proj.get('slug')}': keyword '{kw}' not in abstract")
if proj["slug"] == "ccis":
for d in proj.get("deliverables", []):
if "63246" not in d["ref"]:
errors.append(f"AC-32 Violation: CCIS project deliverable '{d['ref']}' does not belong to CCIS WG (IEC 63246)")
# 1. Count checks
if len(active_m) != 16:
errors.append(f"Active Members count mismatch: got {len(active_m)}, expected 16")
+2 -1
View File
@@ -33,6 +33,7 @@ EXPECTED_SSG_ROUTES = [
os.path.join(".next", "server", "app", "_not-found.html"),
os.path.join(".next", "server", "app", "robots.txt.body"),
os.path.join(".next", "server", "app", "sitemap.xml.body"),
os.path.join(".next", "server", "pages", "404.html"),
]
def run_cmd(cmd, cwd=REFER_DIR):
@@ -154,7 +155,7 @@ def test_unittest_suite():
if res.returncode != 0:
print(f"❌ Unittest suite failed:\n{res.stdout}\n{res.stderr}")
return False
print("✅ Gate 7 PASSED: All 6 DOM & static HTML content assertion tests passed")
print("✅ Gate 7 PASSED: All 7 DOM & static HTML content assertion tests passed")
return True
def test_layout_architecture():
+1 -1
View File
@@ -105,7 +105,7 @@ class TestANLHomepageE2E(unittest.TestCase):
# 2. Key Deliverables references (Top visible items)
self.assertIn("ISO/IEC TR 30189-1", html)
self.assertIn("IEC TR 63614-1", html)
self.assertIn("IEC 63246-1", html)
self.assertIn("ITU-T Recommendation Y.4465", html)
# 3. Assert zero placeholder Funder labels (AC-31)