Governance · নির্মাণগতভাবে শুধু-পঠনযোগ্য

নীতি হলো কোড।
প্রম্পট নয়।

SQAI মডেলকে যা সে আসলে: একটি অবিশ্বস্ত client হিসেবে বিবেচনা করে। Allow-list টুল তৈরির সময় কোডে স্থির হয়, execution-এর আগে in-process যাচাই হয় এবং মডেলের protocol-এ অনুপস্থিত থাকে। সিস্টেমকে বোঝানোর কিছু নেই।

4,574চুক্তি যে capability প্রকাশ করে — প্রতিটি শুধু-পঠনযোগ্য
6একটি অ্যাপের নীতিতে grant
1typed অনুরোধ যা চলে

IIসংকোচন, সম্পূর্ণরূপে

তিনটি স্তর। প্রতিটি কেবল বাদ দিতে পারে।

প্রতিটি উত্তর একই নিয়ন্ত্রণের মধ্য দিয়ে যায়। hash-pinned চুক্তি নির্ধারণ করে কী বিদ্যমান। আপনার নীতি সেটিকে অনুমোদিত পর্যন্ত সংকুচিত করে। একটি typed অনুরোধকে উভয়ের মধ্যে ফিট করতে হবে।

  1. 01

    চুক্তি

    pinned runtime-এ 4,778টি capability; এজেন্টদের কাছে 4,574টি প্রকাশিত, প্রতিটি শুধু-পঠনযোগ্য। বাকি 204টি সম্পূর্ণ বাদ — মডেলের কাছে এগুলো অস্তিত্বহীন।

  2. 02

    আপনার নীতি

    তিনটি allow-list — allowedSources, প্রতি source-এ allowedFields, allowedFunctions — createSQAI() কলের সময় স্থির। Function-এর ডিফল্ট "all-readonly"।

  3. 03

    একটি অনুরোধ

    একটি typed পরিকল্পনা, চুক্তির বিপরীতে যাচাই করা হয়, তারপর in-process নীতির বিপরীতে পরীক্ষা — execution-এর আগে, পরে নয়।

স্তর 01 · চুক্তি4,574 প্রকাশিত · শুধু-পঠনযোগ্য
স্তর 02 · আপনার নীতি6 grant
allowedSourcesorders
allowedFieldsregionrevenueunit_price
allowedFunctionsstats.medianfinance.npv
স্তর 03 · একটি অনুরোধ1 typed পরিকল্পনা

QuerySpec v1 · median(revenue) by region · policy ✓

contract_hash sha256:79f1c5a6c7164e7e9e1750e70a5c03292fa87eb52d8148a740c06695924be9a1

কেবল সংকোচন।

নীতি surface সংকুচিত করতে পারে; কিছুই তা বাড়াতে পারে না। চুক্তি প্রকাশ করে না এমন কোনো capability নাম দিলে createSQAI() নির্মাণের সময় unsupported_operation ছুড়ে দেয় — কোনো এজেন্ট সংযুক্ত হওয়ার আগেই অ্যাপ ব্যর্থ হয়।

এবং মডেলের টুল input-এ কোনো allowed* ফিল্ড নেই। নীতি protocol-এ নেই, তাই কোনো প্রম্পট — বা injection — তা প্রসারিত করার সুযোগ পায় না।

IIIনীতি, কোডে

একবার লেখা। প্রতিবার যাচাই।

বেশিরভাগ governance টুলিং ডেটা পথের পাশে বসে পর্যবেক্ষণ করে। SQAI-এর নীতি পথের ভেতরে থাকে: constructor-এ তিনটি allow-list, প্রতিটি execution-এর আগে in-process প্রয়োগ করা হয়।

const sqai = createSQAI({
  sources: { orders },

  // policy — fixed here, invisible to the model
  allowedSources: ['orders'],
  allowedFields: {
    orders: ['region', 'revenue', 'unit_price'],
  },
  // functions default: 'all-readonly'
  allowedFunctions: [
    'stats.median', 'finance.npv',
  ],
});
allowedSources
নিবন্ধিত source যা একটি পরিকল্পনা নাম দিতে পারে। অন্য যেকোনোটি policy_denied_source ফেরত দেয়।
allowedFields
প্রতি source-এ কলাম। অন্য কোনো কলাম স্পর্শ করা পরিকল্পনা policy_denied_field ফেরত দেয়।
allowedFunctions
শুধু-পঠনযোগ্য function যা একটি পরিকল্পনা কল করতে পারে — ডিফল্ট "all-readonly"। বাইরের যেকোনোটি policy_denied_function ফেরত দেয়।
tool input
কোনো allowed* ফিল্ড বহন করে না। মডেল কখনো নীতি দেখে না, তাই বৃহত্তর কিছু পাঠাতে পারে না।

অস্বীকৃতির খাতা

অস্বীকৃতি exception নয়, ডেটা। প্রতিটিতে একটি স্থির কোড থাকে যা এজেন্ট পড়তে পারে — এবং কোনোটিই retryable নয়, তাই লুপ নীতি ক্ষয় করতে পারে না।

নির্মাণের সময়

unsupported_operation

নীতি এমন একটি capability নাম দেয় যা চুক্তি প্রকাশ করে না। নির্মাণ ব্যর্থ হয়; কোনো এজেন্ট সংযুক্ত হওয়ার আগেই অ্যাপ থামে।

অনুরোধের সময়

policy_denied_source

পরিকল্পনা allowedSources-এর বাইরের একটি source নাম দেয়।

policy_denied_field

পরিকল্পনা সেই source-এর allowedFields-এর বাইরের একটি কলাম স্পর্শ করে।

policy_denied_function

পরিকল্পনা allowedFunctions-এর বাইরের একটি function কল করে।

source: "sqai"প্রতিটি পলিসি অস্বীকৃতি একটি কাঠামোবদ্ধ, পুনরায় চেষ্টাযোগ্য নয় এমন ফলাফল হিসেবে আসে। টুলগুলো কখনো এরর ছুড়ে দেয় না।

IVকাস্টডি

ফলাফল রাখা হয়, সংরক্ষণ নয়।

সম্পূর্ণ ফলাফল সেট কখনো মডেলের কনটেক্সটে পৌঁছায় না। এটি একটি নিয়ন্ত্রিত স্টোরে রাখা হয় এবং id দ্বারা রেফারেন্স করা হয়; মডেল একটি ঘোষিত নমুনা পায়।

ফলাফল স্টোর

নিয়ন্ত্রিত স্টোর · TTL 15 মিনিট

result_id
16টি র‍্যান্ডম বাইট, base64url। অনুমানযোগ্য নয়, কখনো ক্রমিক নয়।
authorization
টেন্যান্ট-আবদ্ধ। ভুল টেন্যান্ট result_not_found পায় — স্টোর কখনো অস্তিত্ব নিশ্চিত করে না।
ttl
15 মিনিট। তারপর এন্ট্রি মুছে যায়।
capacity
সর্বোচ্চ 256টি ফলাফল — মোট 64 MB, প্রতি টেন্যান্টে 16 MB।

স্টোর ফলাফল ধরে রাখে। মডেল একটি নমুনা পড়ে এবং তা জানায়।

মডেল-কনটেক্সট সীমা

defaultLimit100প্ল্যানে সীমা না থাকলে প্রযোজ্য সারি সীমা
maxExecutionRows1,000যেকোনো এক্সিকিউশনে ফেরত আসা সারির কঠোর সর্বোচ্চ সীমা
maxRowsToModel25মডেল কনটেক্সট সর্বোচ্চ যত সারি পায়
maxCellsToModel250মডেল কনটেক্সট সর্বোচ্চ যত সেল পায়
maxBytesToModel32,000মডেল সর্বোচ্চ যত বাইটের ফলাফল ডেটা পায়

ট্রাংকেশন সর্বদা ফলাফলে ঘোষিত হয়। আংশিক সারি কখনো দেখানো হয় না — একটি সারি সম্পূর্ণ আসে অথবা আসেই না।

অডিটের দৃষ্টিভঙ্গি

17%প্রতিষ্ঠান পরবর্তীতে একটি এজেন্টের সম্পূর্ণ টুল-কল ক্রম পুনর্গঠন করতে পারে

GDPR Article 30 এবং SOC 2 CC7.2 ঠিক এই রেকর্ডগুলোই প্রত্যাশা করে।

প্রতিটি SQAI উত্তর ইতিমধ্যে নিজস্ব পুনর্গঠন বহন করে:

plan_hash · invocation_hash · computation_hash · contract_hash

রিপ্লে একটি লুকআপ, তদন্ত নয়। রিপ্লে যেভাবে কাজ করে

VIপ্রশ্নাবলি

গভর্ন্যান্স, সরাসরি জিজ্ঞাসা

মডেল কি নিজের অ্যাক্সেস বাড়াতে পারে?

না। পলিসি createSQAI() সময়ে নির্ধারিত হয় এবং এক্সিকিউশনের আগে ইন-প্রসেসে যাচাই করা হয়। মডেলের টুল ইনপুটে কোনো allowed* ফিল্ড নেই, তাই প্রোটোকলে বিস্তারের কোনো সুযোগ নেই — পলিসির বাইরের অনুরোধ একটি কাঠামোবদ্ধ policy_denied ফলাফল ফেরত দেয়।

রিড-অনলি কি এমন একটি ফ্ল্যাগ যা কেউ বাইপাস করতে পারে?

এটি কোনো ফ্ল্যাগ নয়। উন্মুক্ত কন্ট্র্যাক্টে 4,574টি রিড-অনলি ক্যাপাবিলিটি রয়েছে; রাইট পাথ নির্মাণগতভাবেই অনুপস্থিত, নিষ্ক্রিয় নয়। প্রম্পট ইনজেকশন মডেলের অনুরোধ পরিবর্তন করতে পারে — একটি পিন করা কন্ট্র্যাক্টে ক্যাপাবিলিটি যোগ করতে পারে না।

GDPR Article 30 বা SOC 2 CC7.2 পর্যালোচনার জন্য কী রেকর্ড থাকে?

প্রতিটি ফলাফলে plan_hash, invocation_hash, computation_hash এবং contract_hash থাকে। সঠিক কম্পিউটেশন পরবর্তীতে রিপ্লে করা এবং সেই হ্যাশগুলোর বিপরীতে যাচাই করা যায়।

কোয়েরির পর ফলাফল ডেটা কোথায় থাকে?

একটি টেন্যান্ট-অনুমোদিত ফলাফল স্টোরে: id হলো 16টি র‍্যান্ডম বাইট, এন্ট্রি 15 মিনিট পর মেয়াদোত্তীর্ণ হয়, এবং স্টোর মোট 64 MB ও প্রতি টেন্যান্টে 16 MB সীমাবদ্ধ। মডেল কনটেক্সট সর্বোচ্চ 25 সারি, 250 সেল এবং 32,000 বাইট পায় — ট্রাংকেশন সর্বদা ঘোষিত।

VIIপরবর্তী

উত্তর নিয়ন্ত্রণ করুন।

একটি স্কিমা এবং একটি কমপ্লায়েন্স প্রশ্ন নিয়ে আসুন। আমরা আপনাকে সেই পলিসি দেখাব যা এর উত্তর দেয়।