← The evidence ledger
Evidence row 1052418
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 5e29bfe3-044e-4dca-a2c4-2b92028a50c7
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 45f0b1c9f8b89dcc6ed48125dc23a87261cd1ac433d4882fbcb8196137d568e3
- Leaf
- 0x0f48337e4e7c6c655c1b14f212ee1cab2d84dda1137ec2a519e18556bb16c7b1
What was observed
{
"count": 18,
"tools": [
{
"description": "모든 안건을 지금 마감하고 결과를 확정한다. 공고한 마감보다 일찍 닫으면 결의가 다투어질 수 있다 — 주최자가 지시한 경우에만. manageToken 필요.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"confirm": {
"const": true,
"type": "boolean"
},
"manageToken": {
"type": "string"
},
"meetingId": {
"type": "string"
}
},
"required": [
"meetingId",
"manageToken",
"confirm"
],
"type": "object"
},
"name": "close_meeting"
},
{
"description": "집회 초안을 만든다. 초안은 \"확인 대기\" 상태라 아무것도 열리지 않는다 — 돌려받은 confirmUrl 을 주최자(관리인)에게 전달하면 주최자가 내용을 검토하고 체크한 뒤 휴대폰 본인인증·결제를 해야 투표가 열린다. 관리 토큰은 주최자가 받으며, 운영을 맡길지는 주최자가 정한다. 집합건물(bldg)은 agendas[].preset 에 bldg_general / bldg_bylaw / bldg_common_change 등 법정 유형을 넣고, closesAt(전자투표 마감)은 paperClosesAt(집회일) 전날까지여야 한다. roster 는 선택이며 넣을 때는 서버에 원문을 보내지 않는다: 각 사람의 hash = sha256(\"voter:\" + 이름 + \"|\" + 생년월일(YYYYMMDD) + \"|\" + 휴대폰(숫자만)) 의 16진수, 면적 의결권이면 weight(㎡). 없으면 주최자가 대시보드에서 엑셀로 올린다.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"agendas": {
"items": {
"properties": {
"description": {
"maxLength": 2000,
"type": "string"
},
"kind": {
"enum": [
"yesno",
"choice"
],
"type": "string"
},
"options": {
"description": "choice 일 때 선택지(후보)",
"items": {
"type": "string"
},
"type": "array"
},
"preset": {
"description": "법정 안건 유형 키 (etc 는 생략 가능)",
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
},
"agent": {
"description": "에이전트 이름 (기록용)",
"type": "string"
},
"closesAt": {
"description": "전자투표 마감 ISO 8601",
"type": "string"
},
"declaredCount": {
"description": "투표할 수 있는 사람 수(구분소유자 수 등)",
"minimum": 1,
"type": "integer"
},
"isAnonymous": {
"default": true,
"type": "boolean"
},
"orgType": {
"enum": [
"bldg",
"apt",
"redev",
"union",
"assoc",
"coop",
"housing",
"school",
"student",
"etc"
],
"type": "string"
},
"paperClosesAt": {
"description": "현장·서면 접수 마감(집회일) ISO 8601. 집합건물은 closesAt 다음 날 이후",
"type": "string"
},
"roster": {
"items": {
"properties": {
"hash": {
"type": "string"
},
"weight": {
"type": "number"
}
},
"required": [
"hash"
],
"type": "object"
},
"type": "array"
},
"title": {
"maxLength": 200,
"type": "string"
},
"useWeighted": {
"description": "etc 만 고른다. 법정 안건은 법이 정한다",
"type": "boolean"
}
},
"required": [
"orgType",
"title",
"declaredCount",
"agendas",
"closesAt"
],
"type": "object"
},
"name": "create_draft_meeting"
},
{
"description": "이 안건을 전자투표로 할 수 있는가 — 법이 직접 허용 / 규약·정관 근거 필요 / 불가(전자서명 요구 등) — 와 그 근거 조문.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
}
},
"required": [
"key"
],
"type": "object"
},
"name": "electronic_voting_basis"
},
{
"description": "서면결의서(현장 표)를 입력한다. 한 사람 = 명부 해시 + 안건별 선택지 id. 증빙 사진(data:image/… URL)이 반드시 필요하다. 전자투표한 사람이 섞이면 묶음 전체가 거절된다. manageToken 필요.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"evidenceImageDataUrl": {
"type": "string"
},
"manageToken": {
"type": "string"
},
"meetingId": {
"type": "string"
},
"note": {
"type": "string"
},
"voters": {
"items": {
"properties": {
"choices": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"hash": {
"type": "string"
}
},
"required": [
"hash",
"choices"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"meetingId",
"manageToken",
"voters",
"evidenceImageDataUrl"
],
"type": "object"
},
"name": "enter_paper_ballots"
},
{
"description": "집회의 결제 상태·안건별 집계·명부 현황. manageToken 필요.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"manageToken": {
"type": "string"
},
"meetingId": {
"type": "string"
}
},
"required": [
"meetingId",
"manageToken"
],
"type": "object"
},
"name": "get_dashboard"
},
{
"description": "초안이 확인됐는지, 결제됐는지, 투표가 열렸는지 본다. 확인 전에는 confirmToken, 확인 뒤에는 주최자가 넘겨준 manageToken 을 token 에 넣는다.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"draftId": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"draftId",
"token"
],
"type": "object"
},
"name": "get_draft_status"
},
{
"description": "투표 인원으로 세 갈래(AI 투표함·직접 투표함·맞춤 투표함) 요금을 계산한다. 부가세 포함 금액.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"people": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"people"
],
"type": "object"
},
"name": "get_quote"
},
{
"description": "집회 전체 결과보고서(안건별 표수·의결권·판정·근거·검증값). 마감 전에는 봉인(sealed). manageToken 필요.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"manageToken": {
"type": "string"
},
"meetingId": {
"type": "string"
}
},
"required": [
"meetingId",
"manageToken"
],
"type": "object"
},
"name": "get_report"
},
{
"description": "안건 유형 하나의 의결정족수(인원·의결권), 근거 조문, 전자투표 가능 여부와 근거, 소집통지 요건, 본인확인 등급, 명부 필요 여부, 주의사항.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"key": {
"description": "예: bldg_general, bldg_bylaw, redev_general, apt_rep_multi",
"type": "string"
}
},
"required": [
"key"
],
"type": "object"
},
"name": "get_resolution_requirement"
},
{
"description": "법령 하나의 조문 원문(조·항·호)과 개정 꼬리표, 투표함이 그 조문을 어떻게 지키는지(적용 내용), 관련 안건 유형. law 에는 법령 이름(예: 집합건물의 소유 및 관리에 관한 법률) 또는 slug(condominium), article 에는 \"제38조\" 처럼. article 을 비우면 추적 조문 전부.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"article": {
"type": "string"
},
"law": {
"type": "string"
}
},
"required": [
"law"
],
"type": "object"
},
"name": "get_statute"
},
{
"description": "표 수와 의결권을 넣어 가결·부결을 판정한다. 투표함이 개표에 쓰는 함수 그대로. 집합건물은 구분소유자 수와 의결권(면적)을 모두 넣어야 두 요건이 판정된다.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"approveCount": {
"description": "찬성 인원",
"type": "number"
},
"approveWeight": {
"type": "number"
},
"attendeeCount": {
"description": "출석(투표) 인원",
"type": "number"
},
"castWeight": {
"type": "number"
},
"directAttendanceCount": {
"description": "직접 출석 인원(정비사업)",
"type": "number"
},
"eligibleCount": {
"description": "재적 인원",
"type": "number"
},
"eligibleWeight": {
"description": "재적 의결권 합",
"type": "number"
},
"preset": {
"type": "string"
}
},
"required": [
"preset"
],
"type": "object"
},
"name": "judge_resolution"
},
{
"description": "추적 법령의 시행일·공포일·조문별 개정 꼬리표·투표함 반영 내용과 시행 예정 개정.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "law_changelog"
},
{
"description": "투표함이 추적하는 한국 법령 목록 — 시행일·공포일·대조일·추적 조문·시행 예정 개정. 출처 국가법령정보센터.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_laws"
},
{
"description": "단체 유형(집합건물 관리단·아파트·정비사업조합·노동조합·사단법인·협동조합·주택조합·학교법인·학생자치·그 밖)별 안건 유형과 정족수 요약.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"group": {
"description": "단체 유형 키 (bldg, apt, redev, union, assoc, coop, housing, school, student, etc). 비우면 전부",
"type": "string"
}
},
"type": "object"
},
"name": "list_resolution_types"
},
{
"description": "소집통지를 한 날짜·방법·대상 수를 기록한다(모든 안건). manageToken 필요.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"manageToken": {
"type": "string"
},
"meetingId": {
"type": "string"
},
"method": {
"type": "string"
},
"note": {
"type": "string"
},
"notifiedOn": {
"description": "YYYY-MM-DD",
"type": "string"
},
"recipients": {
"type": "integer"
}
},
"required": [
"meetingId",
"manageToken",
"notifiedOn",
"method"
],
"type": "object"
},
"name": "record_notice"
},
{
"description": "운영자가 대신 개설·집계하는 맞춤 투표함(1인당 300원)을 신청한다. 담당자가 연락한다. 담당자 이름·연락처가 필요하다.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"contactEmail": {
"type": "string"
},
"contactName": {
"type": "string"
},
"contactPhone": {
"type": "string"
},
"headCount": {
"type": "integer"
},
"message": {
"maxLength": 2000,
"type": "string"
},
"orgName": {
"type": "string"
},
"orgType": {
"type": "string"
}
},
"required": [
"orgName",
"contactName",
"contactPhone"
],
"type": "object"
},
"name": "request_consult"
},
{
"description": "질문·안건 이름·법령 이름으로 안건 유형과 법령을 찾는다. 예: \"관리규약 개정\", \"재건축 총회 정족수\", \"집합건물법\".",
"inputSchema": {
"additionalProperties": false,
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search"
},
{
"description": "선거인 명부(해시)를 모든 안건에 올린다. 원문은 보내지 않는다 — create_draft_meeting 의 hash 규칙과 같다. manageToken 필요.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"properties": {
"hash": {
"type": "string"
},
"weight": {
"type": "number"
}
},
"required": [
"hash"
],
"type": "object"
},
"type": "array"
},
"manageToken": {
"type": "string"
},
"meetingId": {
"type": "string"
}
},
"required": [
"meetingId",
"manageToken",
"entries"
],
"type": "object"
},
"name": "upload_roster"
}
]
}What the leaf hashes
{"body":"45f0b1c9f8b89dcc6ed48125dc23a87261cd1ac433d4882fbcb8196137d568e3","id":1052418,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793309114212673,"prev":null,"subject":"5e29bfe3-044e-4dca-a2c4-2b92028a50c7","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (242798 rows).
- 0x0f48002c51770df020f0f6fd8fed0c9b9267c9b5e8993b646e514f956828f220
- 0x979274b34139576edcf5aaf36f27f38755bc867eb2c7b4298f938ea801f571aa
- 0x16c5dbc824d5bb1c0c5cfd52617319d4b82e6e46741f4c084a5ba99e21050f62
- 0xd1cbdac447fb4211821440cab8b30ee79bbcde6046456b751e37260a9bb34648
- 0x0131731239f5f0ac4c3eab3816b149155e05604d1c316d95d657628c6bc4c9d4
- 0x2a9cf890b15136158fede9bec12c4306a095af9d7a1f73990ef02644a00f2e82
- 0x6974015ad6579c13552f07f27fd156d85a1f4aa075995572dc4b8928012631da
- 0x336a8c847bc0434fc3d2ebf272f0e119dc898e9336c1d04205fe304096cb27d8
- 0xb5915feac76e6526e3bf1e9c2e7ab199f530132382816053aeb63a14b4de19db
- 0xf662a975fff66001a2bc54dbc978845e62dc0b428b2c27fb76c4f0467dbea526
- 0x3ba95e19020356daffeafc4ac0c057901bc402ca224f6a1f4ce846c8c6595a63
- 0x167cb457e5618956c84193ebb90fd080faba4ab44e43972c970cde45c0c57c49
- 0x7815c9a292a2f1e0dbdff174b5918aa320852c7e816e376aca0e3ef90e1a01e4
- 0x7b3add153244183458b4331b4f226a6729ff68c345cedfa75b49586e803bf98a
- 0x0507b989510de89f78184f7a10d971f7670a579c54df7d291a2d72f034ae74d3
- 0xa0a7723889a4c15b3e0bec353fa8dbcaec6c71cf35bb6c346415ad3e664df6a6
- 0xd76435ead496863d8b0bfab3434f54cd11da3c49d104fc4064b9cb3381567bbd
- 0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07
- Day root
- 0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
- Chained
- 0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
- Published
- On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1