Chuyển đến nội dung
Duyệt tài liệu

Hiện vật

Một hiện vật có siêu dữ liệu đã kiểm tra, đường dẫn nguồn, tham chiếu tường minh và tên tài nguyên. Hiện vật Markdown còn giữ nguyên nội dung văn bản.

Vị trí do gói quản lý

Phiên bản giao thức 1 chỉ phát hiện các mẫu đường dẫn nguồn đệ quy sau:

  • Vision: research/**/*.md, prd/**/*.md và context/**/*.md
  • Loop: triage/**/*.md, design-document/**/*.md, spec/**/*.md và ticket/**/*.md
  • Evidence: adr/**/*.md, audit/**/*.md, record/**/*.json và drift/**/*.json

Mỗi mẫu bắt đầu từ .drifts/<pillar>/. Các đường dẫn kiểm chứng lồng nhau như evidence/audit/runs và evidence/audit/reports nằm trong phạm vi mẫu kiểm chứng. Không hỗ trợ mẫu đường dẫn nguồn tùy ý.

Markdown được dùng cho chín nhóm tài liệu. Vỏ bọc Record và Drift Event dùng JSON. Trong quá trình phát hiện, trường siêu dữ liệu type phải khớp thư mục nguồn.

Phân tích

parseArtifact(text: string, artifactPath: string): ParsedArtifact

parseArtifact nhận đường dẫn .md và .json. Nó kiểm tra siêu dữ liệu, suy ra tài nguyên trụ cột như vision.prd, thu thập tham chiếu tường minh và trả về đường dẫn hiện vật gốc.

Với Markdown, body là văn bản sau dấu phân cách kết thúc phần đầu tài liệu. Với Records và Drift Events dạng JSON, body rỗng. Phần mở rộng không được hỗ trợ, đầu vào sai định dạng, thiếu phần đầu tài liệu hoặc hiện vật lớn hơn 1 MiB tạo ra LangDriftError với mã ARTIFACT_INVALID.

Phát hiện

await discoverArtifacts(root, {
  maxFiles: 1000,
  maxDirectories: 1000
})

Cả hai giới hạn mặc định là 1000 và phải là số nguyên dương an toàn. Bên gọi có thể chọn giới hạn khác một cách tường minh. Mỗi lần đọc tệp được giới hạn ở 1 MiB.

Quá trình phát hiện:

  • chỉ truy cập các vị trí .drifts do gói khai báo
  • sắp xếp mục trong thư mục trước khi xử lý
  • bỏ qua mục bắt đầu bằng dấu chấm và node_modules
  • bỏ qua thư mục hiện vật không tồn tại
  • từ chối liên kết tượng trưng thay vì đi theo chúng
  • từ chối đường dẫn vượt ra ngoài, đường dẫn tuyệt đối, dấu gạch chéo ngược, ký tự điều khiển, đoạn đường dẫn ẩn và thư mục phụ thuộc

Nó không quét toàn bộ kho mã. Kết quả có tính tất định khi hệ thống tệp không thay đổi: vị trí của gói có thứ tự khai báo và mỗi thư mục được duyệt theo thứ tự đã sắp xếp.

Nội dung dự án cục bộ không được bị một tiến trình không đáng tin cậy thay đổi trong lúc kiểm tra.

Chỉnh sửa trang này trên GitHub