Token导航 LogoToken导航TokenDH.com
Career Coordination MCP logo
运维云端未说明官方级别未说明来源级核验

Career Coordination MCP

MCP Server

一个基于确定性推理和宪法验证的职业协调引擎,用于匹配职位机会与经验原子,并生成经过验证的简历。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
C++审计日志云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

plainsight-lab

提供方

plainsight-lab

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

职业协调MCP

确定性推理增强了求职协调。

职业协调mcp是通过模型上下文协议(mcp)公开的治理优先职业协调引擎的C++20参考实现。

其设计目的是:

  • 将结构化机会与不可变的经验原子相匹配
  • 按照宪法撰写简历
  • 强制执行外展状态机规则
  • 维护完整的交互审核日志
  • 防止无根据的索赔
  • 在验证之前,将LLM输出视为不可信

这个项目的设计是确定的。

______________________________________________________________________

哲学

现代人工智能系统优化流畅性。

职业协调需要正直。

这台发动机遵循严格的姿态:

  • 确定性规则决定结构。
  • LLMs(如果使用)仅起草散文。
  • 验证对所有输出进行门控。
  • 审计日志保留了可解释性。
  • 没有明确的人类权威,就不会发生自主行动。

每个输出都必须归因于:

  • 特定经验原子,
  • 明确的规则,
  • 以及版本化的宪法。

______________________________________________________________________

为什么选择Apache 2.0?

此项目根据Apache许可证2.0获得许可。

我们选择Apache而不是MIT是因为:

  • 它包括明确的专利授权。
  • 它包括专利报复保护。
  • 它仍然是完全宽容和商业友好的。
  • 它支持生态系统增长,不受版权限制。

目标是将治理级基础设施回馈给社区,同时保护贡献者免受专利模糊的影响。

您可以自由地:

  • 使用
  • 修改
  • 嵌入
  • 商业化
  • 分叉

这段代码是基础设施,而不是陷阱。

______________________________________________________________________

架构概述

该系统围绕五个核心领域构建:

1.体验原子

不可变、可验证的能力事实。

示例:

  • 企业架构领导力
  • 人工智能治理设计
  • 系统级安全实施

原子是简历声明的唯一允许来源。

______________________________________________________________________

2.机会

具有规范化要求的职位发布的结构化表示。

机会匹配具有确定性和可解释性。

______________________________________________________________________

3.简历组成

简历生成是符合宪法的:

  • 选定的原子必须映射到机会要求。
  • 不允许无根据的索赔。
  • 输出在接受之前必须通过验证。

______________________________________________________________________

4.外联状态机

接触交互由有限状态机控制:

  • 没有重复的第一次触摸。
  • 如果标记为“不要联系”,则不进行外联
  • 每次转换都会被记录下来。

______________________________________________________________________

5.宪法验证引擎(CVE)

核心执行机制。

CVE:

  • 运行确定性规则包。
  • 生成机器可读的验证报告。
  • 仅在宪法允许的情况下支持覆盖。
  • 仅发送附加审核事件。

未经验证,不接受任何工件。

______________________________________________________________________

项目结构

career-coordination-mcp/
├── include/ccmcp/
│   ├── app/               # Pipeline orchestration (app_service)
│   ├── constitution/      # Rules, ValidationEngine, Findings
│   ├── core/              # IDs, Result, hashing, utilities
│   ├── domain/            # Atoms, Opportunities, Interactions, DecisionRecord
│   ├── embedding/         # IEmbeddingProvider + stub implementations
│   ├── indexing/          # IIndexRunStore, IndexBuildPipeline, drift detection
│   ├── ingest/            # IResumeIngestor, IResumeStore, IngestedResume
│   ├── interaction/       # IInteractionCoordinator, FSM, Redis coordinator
│   ├── matching/          # Lexical + hybrid retrieval, scoring
│   ├── storage/           # IAuditLog, IAtomRepository, IOpportunityRepository,
│   │   │                  # IDecisionStore
│   │   └── sqlite/        # SqliteDb, all SQLite implementations
│   ├── tokenization/      # Token IR, semantic tokenizer
│   └── vector/            # IEmbeddingIndex, InMemory + SQLite implementations
├── src/                   # All library implementations
├── apps/
│   ├── shared/            # Shared arg_parser template (used by both apps)
│   ├── ccmcp_cli/         # CLI reference app
│   │   └── commands/      # ingest-resume, tokenize-resume, index-build, match,
│   │                      # get-decision, list-decisions
│   └── mcp_server/        # MCP JSON-RPC server
│       └── handlers/      # Per-tool handler implementations
├── tests/                 # 226 deterministic unit tests
└── docs/                  # Architecture, governance, and design specs

当前阶段--v0.4正在进行中

状态: ✅ v0.3已完成--v0.4正在进行中(切片1-10已完成)。 测验: 226个案例·1414个断言·0个失败·跳过7个(Redis+SQLite向量选择加入) v0.3准备就绪报告: 文档/V0_3_READINES_REPORT.md

特征矩阵

功能状态持久性CLIMCP工具
词汇匹配SQLitematch (演示)match_opportunity
混合(词汇+嵌入)匹配SQLite+向量--match_opportunity
宪法确认match_opportunity
审计日志(仅可追加,可查询跟踪)SQLite--get_audit_trace
交互状态机(FSM)SQLite+Redis(必填)--interaction_apply_event
恢复摄入SQLiteingest-resumeingest_resume
令牌IR生成SQLitetokenize-resume
嵌入索引构建/重建SQLite+矢量index-buildindex_build
漂移检测(源哈希比较)✅ (会话内)SQLite----
决策记录(匹配来源)SQLiteget-decision, list-decisionsget_decision, list_decisions
宪法阻止覆盖(授权操作员)— (请求范围)--override-rule --operator --reason

所有v0.3切片都已实现并通过。看 路线图 下面是完整的细节。

______________________________________________________________________

非目标

  • 自主求职机器人
  • 未经批准自动发送电子邮件
  • 代理浏览循环
  • 未记录的状态转换
  • 仅矢量匹配

这是治理基础设施,而不是自动化玩具。

______________________________________________________________________

建筑

先决条件

  • CMake 3.21+
  • C++20兼容编译器(Clang 14+、GCC 12+或MSVC 19.30+)
  • 提交时的vcpkg e6ebaa9c3ca8fca90c63af62fc895c2486609580 或稍后($VCPKG_ROOT~/vcpkg)
  • Python 3(用于基线验证) scripts/build.sh)
  • (可选)clang-format和clang-tidy 14+用于代码质量

依赖性治理

依赖版本通过固定 builtin-baseline 领域 vcpkg.json.这个 保证干净的签出解析完全相同的包图,无论 构建运行的时间或地点。构建脚本在配置之前验证基线 如果本地vcpkg安装比固定提交旧,CMake会很快失败。

vcpkg_installed/ 被排除在版本控制之外——工件始终得到解决 从固定基线开始,从不从提交的二进制文件开始。

docs/DEVELOPMENT.md 关于完整的依赖性治理细节, 洁净室验证步骤和基线更新程序。

构建说明

# Recommended: deterministic build with baseline verification
./scripts/build.sh

# Build without tests
./scripts/build.sh --skip-tests

# Clean build (wipe build dir, then build and test)
./scripts/build.sh --clean

或手动:

# Configure with vcpkg toolchain
cmake -S . -B build-vcpkg \
  -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/vcpkg.cmake

# Build
cmake --build build-vcpkg --parallel

# Run CLI demo
./build-vcpkg/apps/ccmcp_cli/ccmcp_cli

# Run tests
./build-vcpkg/tests/ccmcp_tests

依赖关系(通过vcpkg.json固定 builtin-baseline,自动解决):

  • nlohmann json 3.12.0(json序列化)
  • 格式12.1.0(格式化)
  • Catch2 3.12.0(测试)
  • sqlite3 3.51.2(持久层)
  • redis plus 1.3.15(交互协调)
  • libzip 1.11.4(DOCX恢复摄取)
  • pugixml 1.15(DOCX恢复摄入)

代码质量

格式化代码并运行静态分析:

# Format all C++ files (modifies in-place)
./scripts/format.sh

# Check formatting without modifying
./scripts/format.sh --check

# Run clang-tidy static analysis
./scripts/lint.sh

docs/LINTING.md 获取详细的linting和格式化文档。

确定性推理增强

这个项目体现了一个简单的原则:

确定性结构优先。 模型辅助第二。 人的权威永远。

该引擎稍后可以集成LLM提供者,但是:

  • LLM输出被视为不受信任的输入。
  • 验证是强制性的。
  • 没有根据,不得引入新的事实。
  • 所有的主张都必须追溯到规范原子。

______________________________________________________________________

路线图

v0.1✅ 完成

  • 确定性匹配器
  • 宪法验证支架
  • 审核日志记录
  • CLI演示

v0.2✅ 完成

  • 混合词汇+嵌入检索
  • SQLite持久性(原子、机会、交互、审计日志)
  • Redis支持的交互状态机协调
  • 带app_service层的MCP协议服务器

v0.3✅ 完成(6个切片+CLI重构)

切片1--恢复摄入管道

  • 多格式摄取(Markdown、TXT、DOCX和PDF存根)
  • 确定性文本提取和卫生规范化
  • SQLite模式v2(恢复+恢复数据表)
  • CLI: ccmcp_cli ingest-resume
  • 简历_简历.md

切片2——令牌IR生成

  • 从摄入的简历中提取语义标记
  • 象征性IR的宪法验证(无无无根据的主张)
  • SQLite模式v3(resume_tokens表)
  • CLI: ccmcp_cli tokenize-resume
  • TOKEN_IR.md

切片3——SQLite支持的持久向量索引

  • SqliteEmbeddingIndex:追加销售、相似性搜索、持久存储
  • 替换仅供生产使用的内存中的临时矢量索引
  • VECTORDB_BACKEND.md

切片4——嵌入生命周期+索引构建/重建

  • SQLite模式v4(index_runs+index_entrys表)
  • IIndexRunStore + SqliteIndexRunStore 用于追踪来源
  • run_index_build() 具有每个工件漂移检测的管道(源哈希比较)
  • 确定性索引重建:跳过不变,重新索引过时
  • CLI: ccmcp_cli index-build
  • 审核事件: IndexRunStarted, IndexedArtifact, IndexRunCompleted
  • 索引.md

CLI强化重构

  • 共享 arg_parser 模板提取到 apps/shared/
  • CLI从单片557行main分解为命令表调度+每个命令文件

Slice 5-MCP服务器加固+持久性布线

  • 所有六个后端均已连接 main.cpp:SQLite存储、Redis协调器、LanceDB向量索引
  • 配置标志: --db, --redis, --vector-backend inmemory|sqlite, --vector-db-path, --matching-strategy
  • 两个新的MCP工具: ingest_resume, index_build
  • match_opportunity 增益可选 resume_id 用于审计可追溯性
  • ServerContext 扩展为 IResumeIngestor, IResumeStore, IIndexRunStore
  • 短暂回退:所有子系统在非持久性时在stderr上宣布警告
  • MCP_SERVER.md

切片6--决策记录

  • SQLite模式v5(decision_records 表,按索引 trace_id)
  • DecisionRecord:一级来源工件,捕获匹配决策的完整“为什么”

- 按需求原子属性(atom_id, evidence_tokens) - 检索统计快照(词汇、嵌入、合并候选计数) - 验证摘要(状态、发现计数、失败/阻止/警告发现的顶级规则ID)

  • IDecisionStore 接口+ SqliteDecisionStore + InMemoryDecisionStore
  • record_match_decision():每次之后都会打电话 match_opportunity 奔跑;发射 DecisionRecorded 审计事项
  • match_opportunity 现在的回应包括 decision_id 用于立即查找
  • 两个新的MCP工具: get_decision, list_decisions
  • 两个新的CLI命令: ccmcp_cli get-decision, ccmcp_cli list-decisions
  • 确定性JSON序列化(通过 nlohmann::json std::map默认值)
  • DECISION_RECORDS.md

v0.4(进行中)

切片1——确定性指数运行标识

  • 架构v6(id_counters 表):单调递增的运行ID在重启过程中保持不变
  • IIndexRunStore::next_index_run_id() 来源于SQLite计数器(修复了WARN-001)
  • 漂移检测正确性:运行ID在CLI调用之间不再冲突

切片2——矢量后端语义规范化

  • VectorBackend enum:共享权威词汇表 --vector-backend 旗帜
  • 将CLI和MCP服务器对齐到相同的有效值(inmemory, sqlite)
  • MCP服务器 --lancedb-path 命名至 --vector-db-path; lancedb 价值现在很快就会失效
  • 已删除无声别名:标志→ 实现布线清晰详尽

切片3——可再现依赖解析

  • builtin-baseline 固定在 vcpkg.json --每次干净结账时都有相同的依赖关系图
  • scripts/build.sh --具有基线验证的确定性构建入口点
  • docs/DEVELOPMENT.md --洁净室构建过程和依赖性治理
  • docs/ARCHITECTURE.md --依赖性治理部分

第4部分——宪法性封锁覆盖铁路

  • ConstitutionOverrideRequest 域类型(rule_id, operator_id, reason, payload_hash)
  • ValidationStatus::kOverridden --第五种不同的终端状态;BLOCK存在但被明确覆盖
  • payload_hash 结合: stable_hash64_hex(envelope.artifact_id) --覆盖是工件绑定的;不匹配默默拒绝
  • CVE:覆盖应用的帖子发现排序;BLOCK发现保留;仅 status 更改为 kOverridden
  • ConstitutionOverrideApplied 之后发出的审核事件 ValidationCompleted 当应用覆盖时
  • CLI: --override-rule, --operator, --reason --全有或全无;部分集合快速失败
  • 覆盖逻辑仅限于 app_service/CVE层——无存储适配器参与
  • 宪法_RULES.md --BLOCK超控轨道段

Slice 5-Redis第一运行姿态

  • --redis MCP服务器启动时需要;生产路径中没有内存回退
  • InMemoryInteractionCoordinator 从所有实际代码路径中删除; RedisInteractionCoordinator
  • redis-health CLI命令在使用前验证活动性和往返性
  • 缺少或无法解析Redis URI时启动失败很快

切片6--运输/储存边界硬化

  • CCMCP_TRANSPORT_BOUNDARY_GUARD #error 11个混凝土sqlite/redis集管
  • ccmcp_cli_logicmcp_transport_logic 使用保护标志编译的OBJECT库
  • 逻辑层仅包括接口;仅在布线中建造的混凝土物体 .cpp + main.cpp
  • 编译时强制:跨界耦合立即导致构建失败

切片7——确定性运行时配置快照

  • sha256_hex() --纯C++FIPS 180-4 SHA-256,没有新的依赖关系
  • core::kBuildVersion 常数("0.4")用于来源标签
  • RedisConfig::redis_db 场; redis://host:port/N 数据库索引的URI解析
  • RuntimeConfigSnapshot 域类型+确定性JSON序列化(按字母顺序排序的键)
  • IRuntimeSnapshotStore 接口+ SqliteRuntimeSnapshotStore (模式v7,边界保护)
  • 架构v7: runtime_snapshots 桌子-- run_id, snapshot_json, snapshot_hash, created_at
  • MCP服务器在每次进程启动之前都会发出一个快照 run_server_loop,在两个代码路径中
  • 新不变量:每次运行一个持久化数据库都有一个匹配 runtime_snapshots

切片8——确定性审计哈希链(加密的事件完整性前兆)

  • AuditEvent 扩展: previous_hash + event_hash 字段(默认 "",根据append计算)
  • kGenesisHash --64个零十六进制数字,每个跟踪的第一个事件的确定性链锚
  • compute_event_hash() --SHA-256(事件字段的稳定JSON+previous_hash),按字母顺序排序的键
  • verify_audit_chain() --重新计算每个链接;回报 AuditChainVerificationResult (有效、索引、错误)
  • 两者 InMemoryAuditLog::appendSqliteAuditLog::append 计算并存储链
  • SqliteAuditLog 获取 (idx, previous_hash) 单锁获取下的原子性
  • 架构v8: ALTER TABLE audit_events ADD COLUMN previous_hash / event_hash TEXT NOT NULL DEFAULT ''
  • 新的不变性:每个附加的审计事件都携带一个防篡改的SHA-256哈希,将其链接到其前身

切片9——Docker化准备就绪(仅本地容器化部署蓝图)

  • 多级 Dockerfile: ubuntu:22.04 建造者→ debian:bookworm-slim 运行时
  • 通过自定义叠加三元组实现静态vcpkg链接(docker/triplets/x64-linux-static-release.cmake)
  • scripts/docker-entrypoint.sh --验证 REDIS_HOST构造CLI参数, execs mcp_server
  • docker-compose.ymlredis:7-alpine +应用服务,绑定挂载 ./data:/data 用于SQLite持久化
  • 非根容器执行(ccmcp UID 10001);Redis隔离桥接网络;没有暴露的主机端口
  • 零C++更改——入口点脚本处理env-var转换;保留所有启动验证
  • 部署.md

第10部分——强化v1前的治理

  • 覆盖从升级的有效负载绑定哈希 stable_hash64 占位符转换为SHA-256; binding_hash_alg 字段为遗留覆盖保留向后兼容性
  • RuntimeConfigSnapshot 字段已重命名 schema_versionsnapshot_format_version (v2); db_schema_version 字段已添加;Slice 7快照保留了传统反序列化
  • --audit-chain-verify 标志:启动时对所有存储的跟踪进行SHA-256哈希链完整性检查; fail 模式因损坏而拒绝启动
  • list_trace_ids() 添加到 IAuditLog 接口;实现于 InMemoryAuditLogSqliteAuditLog
  • 5项新测试: test_audit_chain_startup.cpp[audit-chain] 标签

计划:

  • 通过容器化工具链实现真正的PDF提取(Poppler/MuPDF)
  • 恢复合成工作流程(原子选择→ 草案→ 验证→ 输出)
  • 结构化简历修补(宪法差异和修补操作)
  • 真正的LanceDB C++SDK集成(目前 SqliteEmbeddingIndex 填充此插槽)
  • 令牌验证规则包
  • 真正的嵌入提供商集成(OpenAI、本地模型)

______________________________________________________________________

贡献

如果捐款能够保留以下内容,欢迎捐款:

  • 决定论
  • 可审计性
  • 明确的治理边界
  • 清除错误表面
  • 可重复性

请避免添加:

  • 隐藏的网络呼叫
  • 代理循环
  • 非确定性决策路径

所有捐款都必须符合项目的宪法立场。

______________________________________________________________________

许可证

此项目根据Apache许可证2.0版获得许可。

版权所有(c)2026 PlainSight实验室

有关完整条款,请参阅许可和通知。

资产例外

以下资产未在Apache 2.0下获得许可,仍受版权保护: •平视-lab-logo.svg •plainsight-lab-logo-dark.svg

这些文件仅在此存储库中使用,未经明确许可,不得重新分发、修改或用于暗示从属关系。

除非另有说明,否则此存储库中的所有其他源代码和文档均在Apache 2.0下获得许可。

最后说明

这不仅仅是一个求职工具。

它是以下内容的参考实现:

  • 确定性推理
  • 宪法确认
  • 可审计决策系统

它是约束下推理的基础设施。

目录标签

目录标签

C++审计日志云端部署本地部署职业匹配简历生成宪法验证确定性推理

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP