Other information on factories
{arcane}{nonref}See (p3,fact-design) for Design notes.
See (p3,sdc) for ways for builder's to collect service fees subject to information flow rate limits acceptable to an object user.
See (rev-fact) about manifestly revokable requestor keys.
Keys to factories
Builder's keys are given out by a factory creator. Requestor's keys and fetcher keys appear when a factory is completed {(comfac)}. Copy keys arise as component three of new factories.
FCC - The Factory Creator Creator
If c = 1 then SB is invalid or unprompt
If c = 2 then SB has insufficient resources.
Calls on Requestor's Key: If RF is a requestor's key to a {complete} factory F then:
Calls on the Fetcher Key -- If F is a fetcher key to a factory then:
For order codes kt and -1, F behaves as a requestor's key.
For order code 66, F behaves as a builder's key.
For order codes 96 thru 96+18 a fetcher key behaves as a builder's key.
c=1 and PSB isn't a prompt bank or
c=2 and PSB is prompt but insufficient or
c=3 and (max hole count) > 300 and SB isn't a bank or
c=4 and (max hole count) > 500,000 or
c=6 and max hole count was too small to contain the .holes.
E(kt;==>x'021e';)
An Ex Factory Design Problem
The factory code is currently obeyed by a factory domain using a meter provided by the factory creator. This is an illegitimate hole. It falls outside any definition of "covert channel" that I would like. We could make factories run on a system meter and close that hole but then a problem arises with custom domain creators.
Who shall provide the meter for the domain creator? We cannot allow arbitrary code to run on a system meter. If the domain creator runs on the factory builder's meter then information flows to the builder, which cannot be allowed. The domain creator might run on the requestor's meter but this might make the factory un-prompt.
One way out of this dilemma is to add function to a domain creator that would startup the created domain having endowed it with a bank, meter and address segment provided somehow by the requestor of the domain creator. The factory would have finished as it called the domain creator and would thus be prompt.
Suppose that the factory creates a node from the requestor's bank, and puts keys into it as currently described at (fac-slots). The following keys would also be included.: .program, .keeper, .symbol-table. This node is passed to the domain creator and might become part of the domain.
A common page would be available that normal domains might obey to achieve the effect of the later stages of current factory design. Either the domain creator or the resulting domain would be at liberty to use or re-sell the node.
There is a problem above: the domain creator may now be unprompt! In cases of interest, where the requestor does not trust the builder, the domain creator will itself be a factory. By the time the custom code of the domain creator runs it will be running on the original requestor's meter.