mirror of
https://github.com/personamanagmentlayer/pcl.git
synced 2026-09-14 15:40:22 +08:00
a34989f81c
Implements a production-ready, enterprise-grade registry system for managing AI personas, teams, workflows, and skills across multiple storage backends. ## Phase 1.2A: Core Interfaces & Memory Backend (Days 1-5) ### Core Architecture - Add registry interfaces (IBackend, ICache, ISearchEngine, IRegistry) - Implement comprehensive error hierarchy (11 specialized error classes) - Create type system with Artifact, Query, Version, Transaction types - Add Result<T> error handling pattern for type safety ### Memory Backend - Implement in-memory HashMap backend for testing/development - Add full CRUD operations with soft delete support - Implement version history tracking and management - Add transaction simulation with rollback support - Include 70+ test cases with 100% coverage ### Registry Manager - Create high-level RegistryManager API wrapping backends - Implement automatic slug generation (URL-friendly identifiers) - Add comprehensive validation (semver, email, slug, tags) - Integrate optional caching layer with TTL support - Include 70+ test cases for validation and operations ## Phase 1.2B: Database Backends (Days 6-10) ### PostgreSQL Backend - Implement production-grade relational database backend - Create complete schema with 9 tables and 20+ optimized indexes - Add database triggers for updated_at and version snapshots - Implement stored procedures for atomic counter updates - Add connection pooling (max 20 connections, configurable) - Include prepared statements and ACID transaction support - Implement trigram-based full-text search (pg_trgm extension) - Provide migration scripts (450+ lines SQL) ### SQLite Backend - Implement lightweight file-based backend for local/embedded apps - Create schema with FTS5 virtual table for full-text search - Enable WAL mode for better concurrency - Add automatic triggers for FTS synchronization - Implement prepared statement caching for performance - Support both file-based and in-memory (:memory:) modes - Include transaction support (BEGIN IMMEDIATE) - Provide migration scripts (350+ lines SQL) ## Documentation ### API Documentation - Add REGISTRY-SYSTEM.md (500+ lines) covering architecture - Document all backends with comparison and use cases - Include type system reference and API examples - Provide migration scripts and deployment guides ### Usage Guide - Add REGISTRY-USAGE.md (600+ lines) with 8 complete examples - Cover backend selection, CRUD operations, versioning - Include error handling patterns and best practices - Provide troubleshooting guide and performance tips ### Examples - Create registry-demo.ts (200+ lines) working demonstration - Show all major features: CRUD, search, versioning, stats - Demonstrate slug generation and validation errors - Include setup and teardown patterns ## Governance & Standards (Parallel Work) - Add comprehensive governance documentation (GOVERNANCE/) - Create Apache 2.0 compliance documents - Add security model and trademark policy - Implement PCL specification v1 (SPEC/) ## Statistics - Files created: 35 (implementation, tests, docs, migrations) - Code written: ~3,500 lines (implementation) - Tests created: 140+ test cases across 2 test suites - Documentation: 1,600+ lines across 3 comprehensive guides - Migration scripts: 800+ lines SQL for PostgreSQL and SQLite - Total output: 6,450+ lines of production-ready code ## Technical Highlights - Multi-backend architecture with pluggable storage - Result<T> error handling pattern from Rust - ACID transactions across all backends - Full-text search (FTS5, trigram matching) - Semantic versioning with history tracking - Soft delete pattern with recovery capability - Connection pooling and prepared statements - Automatic slug generation and validation - Type-safe operations with TypeScript strict mode ## Testing - Memory backend: 70+ test cases (100% coverage) - Registry Manager: 70+ test cases (validation, CRUD, queries) - All tests passing with zero errors - Integration tests deferred to future release ## Next Steps Phase 1.2C-D features deferred to future releases: - MongoDB backend implementation - Redis caching layer - Elasticsearch integration - RBAC security features - PCLPack import/export format Ready for Phase 1.3 (CLI) or Phase 2 (Ecosystem tooling). Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
96 lines
3.8 KiB
Plaintext
96 lines
3.8 KiB
Plaintext
PCL (Persona Control Language)
|
|
Copyright 2024-2026 PCL Contributors and IbIFACE
|
|
|
|
This product includes software developed by the PCL Team
|
|
(https://github.com/personamanagmentlayer/pcl).
|
|
|
|
================================================================================
|
|
LICENSING
|
|
================================================================================
|
|
|
|
PCL uses dual licensing to support both software and documentation needs:
|
|
|
|
• Code and Software (Apache 2.0):
|
|
All source code in /src, /tests, /scripts, and configuration files
|
|
See LICENSE for full terms
|
|
|
|
• Documentation and Specifications (CC BY 4.0):
|
|
All documentation in /docs, /SPEC, /CORE, /GOVERNANCE, and README.md
|
|
See LICENSE-DOCS for full terms
|
|
|
|
• Trademarks (IbIFACE Proprietary):
|
|
"PCL", "Persona Control Language", and logos
|
|
See GOVERNANCE/TRADEMARK_POLICY.md for usage guidelines
|
|
|
|
Apache 2.0 Summary:
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
================================================================================
|
|
TRADEMARK NOTICE
|
|
================================================================================
|
|
|
|
"PCL", "Persona Control Language", and all related project names, logos,
|
|
and trade dress are trademarks of IbIFACE (https://ibiface.com).
|
|
|
|
The Apache 2.0 license granted above does NOT include any rights to use
|
|
IbIFACE trademarks, service marks, logos, or trade names except:
|
|
|
|
✅ PERMITTED USE (Fair Use): - Factual reference: "This software uses PCL" - Attribution: "Built with PCL by IbIFACE" - Educational/academic use with proper attribution - News reporting and commentary
|
|
|
|
❌ PROHIBITED USE (Requires Written Permission): - Commercial products named "PCL [Product]" or "[Product] PCL" - Modified versions claiming to be "Official PCL" - Use implying endorsement by IbIFACE - Logos, branding, or trade dress that creates confusion
|
|
|
|
For trademark licensing inquiries: legal@ibiface.com
|
|
|
|
This trademark policy ensures project integrity while enabling community
|
|
innovation under the Apache 2.0 open source license.
|
|
|
|
================================================================================
|
|
Third-Party Dependencies
|
|
================================================================================
|
|
|
|
This project includes or depends on the following third-party software:
|
|
|
|
TypeScript (Apache-2.0)
|
|
Copyright Microsoft Corporation
|
|
<https://github.com/microsoft/TypeScript>
|
|
|
|
Vitest (MIT)
|
|
Copyright (c) 2021-Present Anthony Fu and Vitest Contributors
|
|
<https://github.com/vitest-dev/vitest>
|
|
|
|
tsup (MIT)
|
|
Copyright (c) EGOIST <0x142857@gmail.com>
|
|
<https://github.com/egoist/tsup>
|
|
|
|
prettier (MIT)
|
|
Copyright James Long and contributors
|
|
<https://github.com/prettier/prettier>
|
|
|
|
eslint (MIT)
|
|
Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
|
<https://github.com/eslint/eslint>
|
|
|
|
================================================================================
|
|
Additional Notices
|
|
================================================================================
|
|
|
|
PCL Bootstrap System (Embedded Runtime v1.0)
|
|
Location: .roadmap/bootstrap/BOOTSTRAP_EN.md
|
|
Purpose: AI assistant persona management specification
|
|
License: Apache-2.0 (part of PCL tooling)
|
|
|
|
The PCL Bootstrap specification defines the runtime behavior for 25+
|
|
built-in personas and 120+ /persona commands. This specification is
|
|
designed to be embedded in AI chat interfaces (ChatGPT, Claude, Gemini, etc.)
|
|
to enable multi-persona collaboration.
|